C Control PRO UNIT MEGA 32 198206 Benutzerhandbuch

Produktcode
198206
Seite von 134
108
Compiler
© 2005 Conrad Electronic
char str1[
12
],str2[
12
];
void main(void)
{
    str1=
"Taster 1"
;
    str2=
"Taster 2"
;
    Port_DataDir(PortD,
0
);  
// Port D auf Eingang
    Port_Write(PortD,
0xff
);  
// Pullup für alle Eingänge setzen
    Thread_Start(
1
,thread1); 
// Thread 1 starten
    while(true)     
// Endlosschleife
    {
        if(!Port_ReadBit(
26
)) Msg_WriteText(str1); 
// SW1 wurde gedrückt
    }
}
5.3.15.10Thread Beispiel 2
// Demoprogramm für Multithreading mit Thread_Delay
void thread1(void)
{
    while(true)     
// Endlosschleife
    {
        Msg_WriteText(str2); Thread_Delay(
200
); 
// Text wird alle 2 Sekunden
ausgegeben
    }
}
char str1[
12
],str2[
12
];
void main(void)
{
    str1=
"Thread1"
;
    str2=
"Thread2"
;
    Thread_Start(
1
,thread1);   
// Thread 1 wird gestartet
    while(true)     
// Endlosschleife
    {
        Thread_Delay(
100
); Msg_WriteText(str1); 
// Text wird jede Sekunde
ausgegeben
    }
}
5.3.16 Timer
Es stehen im C-Control Pro Mega 32 zwei unabhängige Timer-Counter zur Verfügung. Timer_0
mit 8 Bit und Timer_1 mit 16 Bit.  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:
·
·
·
·