hallo, ich frage mit usr.rxc ab, ob etwas am uart ansteht, dass funzt auch so weit. das problem ist nur, wenn ich etwas empfangen hab spricht die abfrage des usr.rxc nicht mehr an, anscheinend geht er dann immer davon aus etwas zu empfangen.er wartet dann so lange bis ich im etwas zu empfangen gib. Eigentlich sollte er den wert um 1 erhöhen und die routine wiederholen. code: if usr.rxc=1 then inputbin x print "x" else incr x loop gruß xeus
usr.rxc ist das interruptflag. Das musst du etweder selbst löschen oder die entsprechende Interruptserviceroutine aufrufen. Diese erledigt das dann für dich. In dieser Interruptserviceroutine kannst du aber mal auch gleich INPUTBIN x machen. AxelR.
Also quasie so, if usr.rxc=1 then inputbin x stimmt das so? werds mal testen gruß xeus
Habs jetzt mal getestet, bevor ich etwas an den mc sende funktioniert es tadellos, er sendet so lange pakete bis er etwas erhält. aber wenn er dann einmal etwas empfangen hat, wartet er nur noch, als ob er etwas empfangen würd, eigentlich sollte er aber an dieser stelle weiter so lange senden bis etwas kammt. HILFE, BITTE;( gruß Xeus
bascom kann ich nicht wirklich, in FastAVR sähe das so aus: ... $Baud =9600 Dim x As Byte Declare Interrupt Urxc() Declare Sub main() ... Enable Urxc ... Enable Interrupts ... Interrupt Urxc(), Save All InputBin x End Interrupt Sub main() If x>0 Then 'mach was mit x End If End Sub Gruß AxelR.
X noch auf NULL setzten Sub main() If x>0 Then 'mach was mit x x = 0 End If End Sub
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.