Quelltext Kategorie: Programmierung (von LittleHouse - 1.08.2003 7:34) | |
Als Antwort auf Re: Probleme beim Datenaustausch von LittleHouse - 1.08.2003 7:08
| |
Huch hab's verrafft: Hier das zu ober ähnlich Hauptprogramm: 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; } Hier die 3 Threads: thread read_buf { string s,t,buffer; int i,a; if ((variable.write_ptr > 0) | (variable.write_Runde > 0 )) { if ((variable.write_Runde > variable.read_Runde) | ((variable.write_Runde == variable.read_Runde) & (variable.read_ptr <= variable.write_ptr))) { i = (variable.write_ptr + variable.write_Runde * 1000) - (variable.read_ptr + variable.read_Runde * 1000); if (i >= 8) { for a = 0 ... 7 { str.putchar(s, variable.e_buf[variable.read_ptr]); variable.read_ptr = variable.read_ptr + 1; } hwcom.print(s); s = ""; } else { for a = 0 ... i-1 { str.putchar(s, variable.e_buf[variable.read_ptr]); variable.read_ptr = variable.read_ptr + 1; } hwcom.print(s); s = ""; } } } } thread write_buf { int i; while (hwcom.rxd() == -1) { variable.e_buf[variable.write_ptr] = hwcom.get(); variable.write_ptr = variable.write_ptr + 1; if (variable.write_ptr == 1001) { variable.write_ptr = 0; variable.write_Runde = variable.write_Runde + 1; } } } thread rxd { wait hwcom.rxd() == -1; } Die Funktion: function thread_Init() { hwcom.setspeed(5); station_lcd.init(); station_io.Clear(); variable.init = 1; variable.StringLen = 0; variable.read_ptr = 0; variable.read_Runde = 0; variable.write_ptr = 0; variable.write_Runde = 0; station_lcd.print("INITIALISIERUNG"); plm.beep(12); sleep 50; plm.beep(-1); sleep 1500; station_lcd.clear1(); sleep 1000; } und die Variablen: //Variable: byte e_buf[1000]; int write_ptr, write_Runde; int read_ptr, read_Runde; int StringLen, init; Also das Problem mit dem Datenaustausch wäre gelöst das lag am mitgesendeten(von Conrad) Kabel. Chefchen hat mit ein anderes gegeben - jetz gehts! Nur könnt ihr euch mal den READ Thread anschauen?? Der schickt nämlich immer ne 0 zurück! Aber wieso?? | |
Antwort schreiben Antworten: Re: Quelltext (von André H. - 2.08.2003 14:41) Re: Quelltext (von LittleHouse - 4.08.2003 11:44) Re: Quelltext (von André H. - 4.08.2003 12:09) Re: Quelltext (von Rolf - 4.08.2003 16:31) Re: Quelltext (von Burkhard Fischer - 4.08.2003 20:44) Re: Quelltext (von Rolf - 4.08.2003 21:13) Re: Quelltext (von LittleHouse - 4.08.2003 12:30) Re: QuelltextTastatur (von Thomas - 5.08.2003 12:56) Re: Quelltext (von Cris - 1.08.2003 17:45) |