
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo, daß es am (noch gefüllten) Eingangspuffer liegt, ist ja nur eine Vermutung von Dir / vielleicht liegt das Problem woanders, wie neulich mit dem groß geschriebenen "OFF".. :-) Du kannst ja versuchen, ob Deine Vermutung stimmt: Das Programm müßte sich korrekt beenden, wenn Du den Sender abschaltest, nachdem "ende" angezeigt wird und Du vor "end" schreibst: #loop if not rxd then goto Ende 'um den Eingangspuffer noch vollständig auszulesen get dummy goto loop #Ende end. Es kann aber auch sein, daß sich die Schnittstelle und das LCD nicht gut "abwechseln" (z.B. ist in dem Moment wo Du RXD abfragst kein print#OFF# vorher, kann nicht schaden..) - versuch doch mal testhalber statt mit der LCD - Anzeige mit "beep" zu signalisieren.. Ich würde generell (siehe Beispiel früher) erst alle Bytes einlesen und danach irgendwas aufs Display ausgeben, schon deshalb weil Display beschreiben ja auch Zeit kostet, in der evtl. der Puffer überläuft.. Gruß Carsten > Hallo, da bin ich wieder ! (siehe Thread "ccintern.dharlos.de/forum/lesen.php?eintrag=3088") > Habe jetzt meine seriellen Daten in der M-Unit2 und kann damit arbeiten. > Aber nicht wieder aufhören ! > Egal ob ich das Proggie mit "end" beende oder resette, es lässt sich nicht mehr neu starten! > Alles wieder neu aufspielen und von vorne... > Ein Beispiel wie ich es mache : > > > > baud r4800 > > > put xxx 'initialisiere den Sender > > > > print"#ON_LCD#"; > > print"#INIT#"; > > > > #start > > if rxd then goto read 'hab ich was im Eingangspuffer ? > > print"norxd"; > > print"#CLR#"; > > goto start > > > > > > #read > > print"#OFF#"; 'LCD aus, sonst kein serieller input > > get b1 > > print"#ON_LCD#"; > > print b1; > > > > print"#CLR#"; > > print "ende"; > > print"#OFF#"; > > end > > > Warum schaltet das Programm nicht vernünftig ab, solange der Sender sendet ? > Bei der Main-Unit 1 war das kein Problem ! > > > Reinhard > > |
| Antwort schreiben |