www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik bitwait funktioniert nicht


Autor: Reinhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wenn ich das Prog auf meinem µC austesten will funktioniert es nicht,
sprich wenn ein LOW an Pind0 anliegt ( Zeile Bitwait ) werden die Leds
nicht eingeschaltet, klammer ich Zeile Bitwait aus, funktioniert alles,
Hardware i.O.. Auch im Simulator wird nach einem Low an Pind0 die
letzten Bits von portd low.
Wo liegt das Prob ?


$regfile = "4433def.dat"
$crystal = 8000000



Ddrd = &B11110000
Portd = &B11111111

Anfang:

Bitwait Portd.0 , Reset

Portd = &B00001111

Wait 1

Portd = &B11111111

Wait 1

Goto Anfang
End

Autor: Gerd Laschinski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Reinhard,

beim AVR gibt es ein PORT- und ein PIN-Register. Zum Abfragen eines
Eingangs mußt Du das PIN-Register nutzen: Bitwait Pind.0 , Reset.

Gruß
Gerd

Autor: Reihard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo gerd,

in der bascom-avr help datei wird das ganze so beschrieben

Bitwait Portb.7 , Reset         'wait until bit 7 of Port B is 0.

ich habe es mit pind.0 im avr studio simuliert, bitwait wird nun völlig
ignoriert, das Programm läuft ohne pind.0 auf low gesetzt zu haben bis
goto.

gruß
r

Autor: Kurt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Reinhard

Versuch mal "Pinb.7"


sollte gehen

Portpin muss auf -Eingang-    gesetzt sein

Kurt

Autor: Gerd Laschinski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Reinhard,

ja, das steht in der Hilfe. Aber es ist falsch, besser gesagt, es
funktioniert nicht. Klar wartet "Bitwait Portb.7 , Reset" darauf, daß
das Bit Nr. 7 im Register Portb auf 0 geht, aber das fragt nicht den
Ausgang ab. Daß Bitwait "Pind.0, Reset" im avr studio ignoriert wird,
liegt vermutlich daran, daß pind.0 = 0 ist.

Gruß
Gerd

Autor: Kurt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so ghehts bei mir


------------------------
Config Pinc.2 = Input

Eing Alias Pinc.2
---------------------





Bitwait Eing , Set


Kurt

Autor: Reinhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es geht nicht, weder im avr-studio noch mit µc
das prog wartet nicht auf ein low an pind.0 , sondern
läuft bis goto Anfang usw... .

$regfile = "4433def.dat"
$crystal = 8000000

Ddrd = &B11110000 'Datenrichtung bit0-3 Eingang, rest Ausgang
Portd = &B11111111'Bit0-3 pullup

Anfang:

Bitwait Pind.0 , Reset 'warte bis low an pind.o



Portd = &B00001111

Wait 2

Portd = &B11111111



Goto Anfang
End

Autor: Kurt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schreib doch mal


Config Pind.0 = Input


dazu.



Ddrd = &B11110000 'Datenrichtung bit0-3 Eingang, rest Ausgang
Portd = &B11111111'Bit0-3 pullup

Da fehlt doch die "Config"  Sache ??

Kurt

Autor: Andi K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder probiers einfach mal ungefähr so, wie es in der BASCOM-Hilfe
steht.
Also statt "Bitwait" die "echten" Maschinenbefehle:

label1:
 Sbic PINB,0   'Überspringe nächsten Befehl, wenn PinB.0 = 0 (clear).
 Rjmp label1   'Ansonsten erneut testen.

Es ist kein Problem in BASCOM ASM-Befehle zwischen rein zu schreiben.
Vielleicht hast Du ja irgend wann sämtliche Routinen in ASM unter
BASCOM was auch zur Optimierung beitragen würde ;-)

MfG
Andi

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.