www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Hilfe: "ERR bit from an interrupt routine" - setzen?


Autor: Josch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

als Anfänger habe ich eine Frage:
Wie kann ich das "ERR bit from an interrupt routine" setzen?

Ich benötige dies, um bei BASCOM nicht in der GETATKBD()-Funktion hängen 
zu bleiben.

Danke

Josch

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Josch wrote:
> Wie kann ich das "ERR bit from an interrupt routine" setzen?

Was soll denn das sein?

Der AVR selber hat kein "ERR bit".


Peter

Autor: Josch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peter (und andere),

in der BASCOM-Hilfe steht
"The Getatkbd function will wait for a pressed key. When you want to 
escape from the waiting loop you can set the ERR bit from an interrupt 
routine for example."

Wie kann ich nun GETATKBD() verlassen ?

Josch

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Doku vom BASCOM lesen. Dort steht drin wo das ERR Bit steckt.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich benötige dies, um bei BASCOM nicht in der GETATKBD()-Funktion hängen
>zu bleiben.


Am besten verwendest Du diese Funktion nicht, sondern schreibst Dir eine 
eigene, die Abbruchzeichen auswerten kann. So einfach diese Funktion für 
Dich zunächst aussehen mag, in der Praxis taugt sie nicht.

@A.K.
Das war schon immer so, nicht wahr? :-)

Autor: Josch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ A. K.
300 Seiten Doku habe ich gelesen.

Aber Peter schreibt, dass es kein "ERR bit" gibt.

Wo hast du das denn gefunden ?

Josch

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Josch wrote:

> 300 Seiten Doku habe ich gelesen.

Ich nicht. Ich lasse lesen. Computer sind dabei schneller als ich.

> Aber Peter schreibt, dass es kein "ERR bit" gibt.

Peter kennt m.W. BASCOM nicht. Und der AVR Prozessor hat kein Bit mit 
dem Namen ERR, das ist eine Spezialität von BASCOM.

> Wo hast du das denn gefunden ?

Im Kühlschrank,

Herrje, in der aktuellen Version der BASCOM Doku natürlich. Nach "ERR " 
suchend.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Josch wrote:
> "The Getatkbd function will wait for a pressed key. When you want to
> escape from the waiting loop you can set the ERR bit from an interrupt
> routine for example."

Vermutlich ist "ERR" ne globale Variable von Bascom, also einfach mal 
setzen.


Die Formulierung drängt den Verdacht auf, daß Getatkbd im Polling 
arbeitet.
Wie damit vernünftig ein Tastendruck erkannt werden soll, ist mir ein 
Rätsel.
Man muß ja dann zufällig in dieser Routine sein, wenn eine Taste 
gedrückt wird.

Sinnvoll wäre ein Interrupthandler, der Tastendrücke in einem Puffer 
speichert. Und eine Funktion, die den Status zurückliefert, daß 
mindestens ein Ereignis im Puffer ist.


Peter

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Dannegger wrote:

> Vermutlich ist "ERR" ne globale Variable von Bascom

So ähnlich. Ist ein Bit in einem CPU-Register.

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.