Re: Hostmodus einleiten Kategorie: Programmierung (von André H. - 31.08.2011 7:54) | ||
Als Antwort auf Re: Hostmodus einleiten von ChristianS - 29.08.2011 14:05 | ||
| ||
Hallo Christian, > Es ist nicht ganz so leicht die "Host-Mode LED" in die Station einzubauen, da das Teil in der > Verteilung hängt und ziemlich verdrahtet ist. Da möchte ich nur sehr ungern dran. OK, bei der original Station ist nicht so einfach möglich. Aber Du kannst unmittelbar vor dem quit eine Displayausgabe machen: run 255; yield; lcdext.clear(); lcdext.print("HOSTMODE"); quit 1; Das �ndern der Prio auf 255 mit anschlie�endem yield; soll vergindern, da� es zu einer Threadunterbrechung kommt, ohne da� man ein Capture einsetzen mu�. > Ich verwende zur Datenübertragung nur die lizensierte Version Deines CC2-Download-Tools unter > Win7, 32bit. Das Notebook hat eine RS232 Schnittstelle eingebaut. OK, hier sollte es zu keinen Problemen kommen. Allerdings haben schon manche Notebook-RS232 Probleme gemacht. Aber, hattest Du vor dem Kopieren der lizensierten Version die Sharewareversion installiert? Das ist wichtig, damit die richtigen Laufzeitbibliotheken installiert werden. > Das "Com-Menue" ist nichts weiter als eine Ansammlung von "hwcom.print()" -Befehlen, die ich > zu Zwecken der �bersichtlichkeit ausgelagert habe. Da kann sich das Programm eigentlich > nicht befinden, wenn der Host-Mode eingeleitet wird. OK. Wenn das nur reine Ausgaben sind, sollte es hier keine Probleme geben. > Timeouts? Nee, habe ich noch nicht > mit gearbeitet. Werde ich mir mal ansehen. Ich vermute mal, es könnte aber auch sein, dass es an > den diversen Threads liegt, die parallel laufen. Solange diese Threads nicht auf die hwcom zugreifen, sollte das nicht das Problem sein. > Ach ja, bleibt noch zu sagen, dass das Problem nicht auftritt, wenn ich den Host-Mode über die > Tasten der Station einleite. Ohne Probleme lief auch immer diese Variante; ist aber nicht so elegant. > ... OK. Irgendwie wird das 2x 254 Kommando nicht korrekt empfangen. Schreib' mal ein kleines Testprogramm oder nimm das aus der html zum DL-Tool, um das Einleiten zu testen. Zusätzlich kannst Du jeds Empfangene Byte auf dem LCD ausgeben: int xx;// Dummy-Byte byte buf[1056]; thread main { hwcom.init(); hwcom.setbuf(buf,1056); hwcom.setspeed(8); lcdext.init(); loop { if hwcom.rxd(); { xx=hwcom.get(); lcdext.zahl4(xx); if xx==254 {byte x[2]; x[1]=hwcom.receive(x,1,1000); lcdext.zahl4(x[0]); if x[0]==254 and x[1]==1 {lcdext.line(2);lcdext.print("HOSTMODE");quit 1;}// Hostmode einleiten RS232 if x[0]==253 and x[1]==1 {lcdext.line(2);lcdext.print("HOSTMODE");quit 256;}// Hostmode einleiten LAN } // Platz für eigene Schnittstellenroutinen ... hwcom.flush(); } // weiterer Programm-code ... } } Was mir noch einfällt: Mit welcher Baudrate arbeitest Du in Deinem Programm? Wenn dies eine andere ist als 57.600 Baud, mu�t Du das in den Einstellungen des DL-Tools ändern. MfG André H. Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | ||
Antwort schreiben Antworten: |