mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik bascom:programmunterbrechung bei RX


Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ThomasB (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ThomasB (Gast)
Datum:

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


ThomasB

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.