User manual

200Bibliotheken
© 2008 Conrad Electronic
//
void main(void)
{
str1="Thread1"; // Variablendeklaration
str2="Thread2"; // Variablendeklaration
Thread_Start(1,thread1); // Funktionsaufruf mit Angabe der
// Threadnummer.
while(true) // Endlosschleife
{
Thread_Delay(100); Msg_WriteText(str1);
} // Der Thread ist für 100ms "schlafend".
} // Danach wird "Thread1" ausgegeben.
6.19 Timer
Es stehen im C-Control Pro Mega 32 zwei, Mega128 drei unabhängige Timer-Counter zur
Verfügung. Timer_0 mit 8 Bit und Timer_1 mit 16 Bit Timer_3 mit 16 Bit (nur Mega128). Timer_2
wird von der Firmware als interne Zeitbasis verwendet, und ist fest auf einen 10ms Interrupt
eingestellt. Mann kann die internen Timer für vielfältige Aufgaben einsetzen:
· Ereigniszähler
· Frequenzerzeugung
· Pulsweitenmodulation
· Timerfunktionen
· Puls & Periodenmessung
· Frequenzmessung
6.19.1 Ereigniszähler
Hier zwei Beispiele, wie die Timer als Ereigniszähler genutzt werden:
Timer0 (8 Bit)
// Beispiel: Pulszählung mit CNT0
Timer_T0CNT();
pulse(n); // n Pulse generieren
count=Timer_T0GetCNT();
Beim Mega128 ist aus Hardwaregründen die Benutzung von Timer_0 als Zähler nicht möglich!
Timer1 (16 Bit)
// Beispiel: Pulszählung mit CNT1
Timer_T1CNT();
pulse(n); // n Pulse generieren
count=Timer_T1GetCNT();