C Control PRO STARTER SET MEGA 128 198484 Benutzerhandbuch

Produktcode
198484
Seite von 200
165
Compiler
© 2005 Conrad Electronic
5.4.17.12 Thread Beispiel 2
// multithread2: Multithreading mit Thread_Delay
// erforderliche Library: IntFunc_Lib.cc
void thread1(void)
{
    while(true)
    {
        Msg_WriteText(str2); Thread_Delay(
200
);
    }                                   
// "Thread2" wird ausgegeben.
}                                       
// Danach ist der Thread
                                        
// für 200ms "schlafend".
char str1[
12
],str2[
12
];                 
// globale Variablendeklaration
//------------------------------------------------------------------------------
// Hauptprogramm
//
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.
5.4.18 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:
·
·
·
·
·
·
5.4.18.1
Ereigniszähler
Hier zwei Beispiele, wie die Timer als Ereigniszähler genutzt werden:
Timer0 (8 Bit)
//  Beispiel: Pulszählung mit CNT0
();