mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem mit Interrupt - Bascom -


Autor: franz H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte folgendes Programm schreiben bzw. hab ich schon.....
kabs nur kurz zusammengefasst, also dient nur dem verständnis....

do
 if Taster1 then              //LED an
 Led an
 end if

 if Taster2 then              //LED aus
 LED aus
 end if

 if taster3 then              //blinkende led
  do
   LED an
   waitms 500
   LED aus
   waitms 500
  loop
 end if
loop

um von der schleife mit blinkender LED wieder herauszukommen wollte ich 
am tiny13 den interrupt verwednen. die tasten werden nur kurz gedrückt. 
werden nicht gehalten.

Interrupt
LED aus
return

.......
das Problem ist folgendes: ich muss beim interrupt return angeben. Nur 
wenn return ausgeführt wird komme ich wieder in die schleife mit 
blinkender led zurück.
Wie kann ich das ändern?
So das ich wieder in den normalen Ablauf zurückkomme?

danke
mfg

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
guck mal nach dem Befehl Exit do in der Bascom Hilfe.

Stefan

Autor: Erwin Endres (erwinendres)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Interrupt ein Flag setzten.
Dieses in der Do Schleife abprüfen.

So z.B.:

dim flag as byte

if taster3 then              //blinkende
  do
   LED an
   waitms 500
   LED aus
   waitms 500
  loop until flag = 1
end if

Disable Interrupt
flag = 0    'Flag wieder zurücksetzten
Enable Interrupt


Interrupt
flag = 1
return

Was für ein Interrupt soll das eigentlich sein, der die Schleife beenden 
soll? Ein Timer?
Die waitms solltest du wohl besser durch eine Timerabfrage ersetzen...

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.