Forum: Mikrocontroller und Digitale Elektronik bascom:programmunterbrechung bei RX


von Sven (Gast)


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

von ThomasB (Gast)


Lesenswert?

Hallo Sven:

@ Enable Interrupts
 Enable URXC
 ON URXC 'muss da in die schleife oder nur davor?
 do
 ...
 loop
Versuchs mal hiermit:

Enable interrupts
enable urxc
on urxc urxc_isr 'aufruf des Interruptprogramm
do
...
loop
urxc_isr:
....
print "interruptproramm"
....
Return  'erzeugt ein Reti

MfG ThomasB

von Sven (Gast)


Lesenswert?

Ja, hm
das on urxc urxc_isr 'aufruf des Interruptprogramm hab ich auch in 
meinem Progie, nur vegessen abzutippen ;o)
Funktionieret trotzdem nicht.Oder besser gesagt´, es funktioniert 
solange, nbis ich eine Inputabfrage mache...
Ich möchte nämlich 12 Eingaben abfragen...


Sven

von Sven (Gast)


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

von ThomasB (Gast)


Lesenswert?

Hei Sven:
was willst Du eigentlich machen(programmiern) ;-)
12 Eingänge abfragen ??? usw


ThomasB

von Sven (Gast)


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

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
Noch kein Account? Hier anmelden.