User manual
199 C-Control Pro Mega Series
© 2008 Conrad Electronic
6.18.11 Thread Beispiel
// Demoprogramm zum Multithreading
// Das Programm ist nicht entprellt, ein kurzes Tasten führt daher zu
// mehrfacher Ausgabe des Strings
void thread1(void)
{
while(true) // Endlosschleife
{
if(!Port_ReadBit(PORT_SW2)) Msg_WriteText(str2); // SW2 gedrückt
}
}
char str1[12],str2[12];
void main(void)
{
str1="Taster 1";
str2="Taster 2";
Port_DataDirBit(PORT_SW1, PORT_IN); // Pin auf Eingang
Port_DataDirBit(PORT_SW2, PORT_IN); // Pin auf Eingang
Port_WriteBit(PORT_SW1, 1); // Pullup setzen
Port_WriteBit(PORT_SW1, 1); // Pullup setzen
Thread_Start(1,thread1); // Thread 1 starten
while(true) // Endlosschleife
{
if(!Port_ReadBit(PORT_SW1)) Msg_WriteText(str1); // SW1 gedrückt
}
}
6.18.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