Table of Contents

Verzögerung

Dieser Teil der Bibliothek enthält die benötigten Funktionen, um in einem Programm mit Hilfe von Software Algorithmen oder Hardwaretimern Verzögerungen zu generieren. Verzögerungen blocken keine Interrupts, daher werden Softwareverzögerungen durch Interrupts unterbrochen. Verzögerungsfunktionen sind nicht vor-kompiliert, sodass sie mit verschiedenen Taktfrequenzen genutzt werden können.

Funktionen

  • void sw_delay_ms(unsigned short count)

Softwareverzögerung in Millisekunden (ms). Für diese Funktion wird ein Compiler Optimierungsmodus benötigt. Parameter:

  • count - Verzögerungszeit in ms. 0 bis 65535 ms.
  • void sw_delay_us(unsigned short count)

Softwareverzögerung in Mikrosekunden (μs). Für diese Funktion wird ein Compiler Optimierungsmodus benötigt. Parameter:

  • count - Verzögerungszeit in μs. 0 bis 65535 μs.
  • void hw_delay_ms(unsigned short count) \\'

Zeitgeber basierte Verzögerung in Millisekunden. Diese Funktionen verwenden den ATmega128 8-bit Timer 0. In Abhängigkeit von der Taktfrequenz kann eine Verzögerung von bis zu einigen Millisekunden auftreten. Parameter:

  • count - Verzögerungszeit in ms. 0 bis 65535 ms.

Beispiele

Demonstration beider Typen einer Verzögerung:

#include <homelab/delay.h>
 
int main(void)
{	
	// Software-basierte Verzögerung von 100 ms.
	sw_delay_ms(100);
 
	// Hardware- (Timer-) basierte Verzögerung von 100 ms.
	hw_delay_ms(100);
}
de/software/homelab/library/delay.txt · Last modified: 2020/07/20 09:00 by 127.0.0.1
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0