www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik bascom avr: wait + isr ?


Autor: nummernschalter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

habe mit bascom avr eine schleife in der alle 1 sekunde (verwendung von 
'wait') etwas ausgegeben wird. Außerdem habe ich einen Timer-Interrupt 
der etwas zählt. Dummerweise stimmt das Ergebnis nicht. Sobald ich 'wait 
1' auskommentiere, ist alles i.O.

In der Doku steht auch, daß 'wait' im Zusammenhang mit Interrupts mit 
Vorsicht zu genießen ist. Kann mir jemand sagen, wie man dieses Problem 
umgeht ?

Danke.

Autor: Bernd T. (bastelmensch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit einem zweiten timer anstatt wait.

Autor: PeterL (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"wait" sollte man nur für die allererste Blinkschaltung ausprobieren und 
dann schnell wieder vergessen, weil der Controller in dieser Zeit nichts 
anderes macht, als warten.
In der Regel muss man mit einem µController aber Taster abfragen, 
Display bedienen, Analogwerte messen usw.
Wärend der Wartezeit macht er das aber nicht.

Autor: nummernschalter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Normalerweiser werden beim Auslösen eines Interrupts doch alle 
"Aufgaben" unterbrochen, die ISR abgearbeitet, und wieder fortgesetzt. 
Es sei denn, "wait" deaktiviert alle Interrupts. Weiß jemand, wie die 
bascom avr "wait" routine diesbezüglich arbeitet?

Autor: Marko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Solche Ergebnisse kann ich bestätigen,
irgendwo bastelt Bascom immer wieder
nen disable interrupts in den hex-file
wofür der Compiler das macht hängt mir
auch zu hoch.
Ich habs dann mal so gelöst, dass ich
eine Schleife laufen lies, die 200-mal
50ms gewartet hat.
(Befehl: waitms)
Ist nicht besonders schön, aber funktionierte.
Ja, Bascom funktioniert zwar grundsätzlich,
aber mitunter sind die Ergebnisse nicht ganz das,
was man erwartet (nur am Rande, ich arbeite viel
und oft unter Bascom).

Autor: bas_ratte (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bascom bastel kein Interrupt ins Hexfile es sei dem
Ihr schaltet den Explicit ein.
schau mal dort rein.
http://bascom-forum.de

Autor: Herbert von Caravan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@bas_ratte
Kannst Du das mal ein wenig genauer ausführen oder willst Du nur Leute 
auf eine Seite lotsen, auf der es von Pop-ups nur so wimmelt?

Hochachtungsvoll
Herbert von Caravan

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.