Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo, > > ich habe mir Deine Threads nicht einzeln angeschaut. Du hast meiner Ansicht nach im main-Thread schon ein Problem. > > thread main > { > if (variable.init == 0) > { > funktionen.thread_Init(); > if (variable.init == 1) > station_lcd.print("Bereit..."); > } > > run threads.rxd; > run threads.write_buf; > run threads.read_buf; > } > > Der gesamte Programmtext zwischen den geschweiften Klammern der thread-Anweisung wird immer wieder durchlaufen. D.h. > die threads rxd, write_buf, read_buf werden bei jedem Aufruf von run ein weiteres mal gestartet. Das ist sicherlich das was Du > willst. Ich sehe in Deinem Programm noch gar nicht den Sinn der vielen threads. Wenn ich Deinen Programmtext richtig > verstehe, möchtest Du mit der Anweisung run ... den thread einmal ausführen. Wenn das so ist, ist Dein Programm falsch. > Du musst dann aus Deinen thread rxd, write_buf und read_buf ganz normale Funktionen machen. > > Das thread-Konzept bietet sehr schöne Möglichkeiten bei parallel ablaufenden Prozessen. Jedoch sollte man sich > sehr genau Überlegen ob man das wirklich braucht. Manchmal ist es viel einfacher, ein Programm sequentiell abarbeiten zu lassen. > Man weiß dann genau, welche Funktion wann auf welche Variable zugreift. > > Dein neuer main-thread könnte so aussehen: > > thread main > { > funktionen.thread_Init(); > > loop > { > station_lcd.print("Bereit..."); > > threads.rxd(); > threads.write_buf(); > threads.read_buf(); > } > > Cris > > PS Hast Du mal überprüft, ob Dein neues serielles Kabel auch die Handshake-Signal CTS und RTS zwischen > PC und CC2 austauscht?