Forum: Mikrocontroller und Digitale Elektronik LCD Busy Flag Abfrage im 8 Bit Modus


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von rudolf58 (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich möchte das Busyflag abfragen und ich finde den Fehler im 
Programm nicht. Ein "normaler" HD44780 wird an einem ATMega8A betrieben.
Solange ich mit delays arbeite funktioniert alles problemlos, wenn ich 
das BF abfrage, dann funkioniert es nicht wie es soll.
Daraus die Vermutung dass der Fehler in der BF Routine liegt.
Im Anhang der Programmteil. Vielen Dank für konstruktive Antworten.
Im Anhang der Programmcode.

von Thomas Z. (usbman)


Bewertung
0 lesenswert
nicht lesenswert
rudolf58 schrieb:
> Im Anhang der Programmcode.

Ich sehe da keinen Programmcode nur eine seltsam formatierte Textdatei. 
Ich bin zu busy um das zu entschlüsseln.

von Berater (Gast)


Bewertung
-3 lesenswert
nicht lesenswert
rudolf58 schrieb:
> Vielen Dank für konstruktive Antworten.

Erst mal einen Prgrammcode liefern der lesbar ist.
Wer Tabs in Sources verwendet lebt für sich allein.

Jeder Editor von heutzutage erlaub es Tabs durch Spaces
zuersetzen und zu formatieren (zur Not mit Find & Replace)

Sources postet man in *.c oder in *.asm, aber nicht in *.txt

von Georg G. (df2au)


Bewertung
0 lesenswert
nicht lesenswert
Du liest das Flag falsch.
E aktivieren, Register lesen und merken, E wieder deaktivieren. Flag 
auswerten (aus gemerktem Wert). Wenn Busy, von vorn.

von rudolf58 (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Berater schrieb:
> Jeder Editor von heutzutage erlaub es Tabs durch Spaces
> zuersetzen und zu formatieren (zur Not mit Find & Replace)

Sie haben Recht, dieser Datei im Anhang ist Mist. Wenn ich gewusst 
hätte, dass das in einem derartigem grausigen Format angezeigt wird, 
hätte ich das so nicht abgeschickt. Mir fehlt leider das Know How wie 
das mit dem Ersetzen funktioniert. Ich habe deshalb diese Textdatei 
nochmals bearbeitet und hoffe nun, dass es jetzt besser lesbar ist.

von rudolf58 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Georg G. schrieb:
> E aktivieren, Register lesen und merken, E wieder deaktivieren. Flag
> auswerten (aus gemerktem Wert). Wenn Busy, von vorn.

Danke, wenn ich das richtig verstehe würde das dann so aussehen:

sbi Steuerport, PIN_E    ; wie bisher
in temp1, Datenport      ; Datenport = Port D
cbi Steuerport, PIN_E    ; PIN_E = 4 Steuerport = Port B

.... wenn das BF gesetzt ist würde dann im MSB eine 1 stehen.
Die Auswertung mit sbic funktioniert mit temp1 = r16 nicht.
Ich steh da einfach auf der Leitung ...

von rudolf58 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Kann ja auch nicht funktionieren. sbic ist ja nur für IO Register. Mit 
sbrc sollte es klappen. Danke nochmals.

von Jörn P. (jonnyp)


Bewertung
0 lesenswert
nicht lesenswert
Und wo ist:
rcall Lcd_PulsE  ?
Ich sehe kein solches label.

von Mitlesa (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Jörn P. schrieb:
> Ich sehe kein solches label.

Ich sehe es schon ..... ungefähr hier:

Beitrag "LCD Busy Flag Abfrage im 8 Bit Modus - die zweite"

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]
  • [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.