bascom:programmunterbrechung bei RX

Gast #18610
Lesenswert?

Hallo,

ich möchte gern mal wissen, wie man eine Programmunterbrechnung mit 
Hilfe von URXC hinbekommt.

Bei der C-Control geht das einfach:

start:
if rxd then gosub xy
goto start

mit hilfe von dem RXD kann man feststellen, ob ein empfang über RX 
vorliegt.

Ich habs jetzt beim AT2313 über interrupt probiert, scheint aber nicht 
zu funktionieren.

Enable Interrupts
Enable URXC
ON URXC 'muss da in die schleife oder nur davor?
do
...
loop

auf jeden fall wird die schleife nur einmal durchlaufen...

Bitte helft mir.

Sven
Gast #18613
Lesenswert?

hab noch ne andere lösung, die scheint aber auch nicht zu funtionieren:
do
...
 If Ischarwaiting() = 1 Then Gosub Urxc_isr
Loop

Urxc_isr:

'empfange daten von der seriellen schnittstelle
Sh1= Waitkey()

Return

theoretisch muss der die schleife wiederholen, bis irgendwann ein key im 
hardwarebuffer liegt, tut er aber leider nicht. bricht schon immer nach 
der ersten schleife abe...

Sven
Gast #18615
Lesenswert?

Nönö du,
ich will 12 ausgänge schalten. Und zwar Pulsweitenmoduliert, für Servos 
halt.

Also ich bekomm über die rx 12 zahlen geschickt, die werden dann in 
einer endlosschleife an den jeweiligen ausgang gelegt, dass die servos 
auch immer schön unter spannung stehen.
das wars eigentlich schon.Das problem ist nur, dass ich bis jetzt keine 
geschiete unterbrechung der endlosschleife gefunden hab, wenn ein 
empfang über rx ansteht...

Sven

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren