User manual

368Bibliotheken
© 2013 Conrad Electronic
5.25.12 Thread Beispiel 2
// multithread2: Multithreading mit Thread_Delay
// erforderliche Library: IntFunc_Lib.cc
#thread 0, 0, 10 // Hauptthread mit Task Wechsel alle 10 * 10ms =100ms
#thread 1, 128, 10 // Thread 1 mit 128 byte & Task Wechsel 10*10ms =100ms
void thread1(void)
{
while(true)
{
Msg_WriteText("Thread2"); // "Thread2" wird ausgegeben.
Thread_Delay(200); // Danach ist der Thread für 200ms "schlafend".
}
}
//------------------------------------------------------------------------
// Hauptprogramm
//
void main(void)
{
Thread_Start(1,thread1); // Funktionsaufruf mit Angabe der
// Threadnummer.
while(true) // Endlosschleife
{
Thread_Delay(100); // Der Thread istr 100ms "schlafend".
Msg_WriteText("Thread1"); // Danach wird "Thread1" ausgegeben.
}
}
5.26 Timer
5.26.1 Mega
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