mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Probleme mit LCD seit Portwechsel


Autor: XYZ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe ein Programm für einen Mega 16 geschrieben, welches ein LCD 
Modul ansteuert und die LCDLibrary von Peter Fleury benutzt. Aus 
praktischen Gründen habe ich nach erfolgreichem Testen die Ports 
getauscht (statt Port A nun Port D) und seitdem funktioniert das 
Programm nicht mehr, bzw. das Display wird nichtmal mehr initialisiert. 
Die Portkonfiguration in der Library habe ich entsprechend angepasst und 
zusätzlich nochmal alles nachgemessen, daher schließe ich hier einen 
Fehler aus. Hat vielleicht jemand eine Idee wo ein Fehler liegen könnte?


Viele Grüße und Danke im Voraus!!

Autor: Antwort (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sicher das es PORTD und nicht PORTC ist (Tippfehler)? Dann könnte es an 
den noch aktivierten JTAG Fuse Bit liegen.

Autor: EinGast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ohne Code ist alles nur Rätselraten ...
Und meine Glaskugel ist gerade zum Polieren  :-(

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: XYZ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

danke für die schnellen Antworten. Es war nun tatsächlich ein Fehler im 
Programm, nämlich war ein einzelner Port noch ganz versteckt fest als 
Ausgang definiert, was zu einem Konflikt mit dem Display geführt hat.

Danke auch für die Info mit dem Jtag Fuse- Bit. Da gab es nämlich ein 
kleineres weiteres Problem, das damit aber auch gelöst ist!!

Dieses Forum ist echt klasse!!

Viele Grüße

@ peter: Deine Library benutzt leider Delays, daher kann ich sie nicht 
verwenden. Das Programm ist leider etwas Zeitkritisch. Das sehe ich 
richtig, dass bei delayus und co der Controller Pause macht oder?

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
XYZ schrieb:
> @ peter: Deine Library benutzt leider Delays, daher kann ich sie nicht
> verwenden.

Und was benutzt Du, Busy-Waiting?
Das wartet doch auch, nur vielleicht ein I-Tüpfelchen weniger.
Wegzaubern kann man die Abarbeitungszeit des LCD damit nicht.
Bei den festen Delays ist noch eine kleine Sicherheitszugabe drauf.


> Das Programm ist leider etwas Zeitkritisch.

Dann machst Du was grundsätzlich falsch.
Eine LCD-Ausgabe sollte so langsam erfolgen, daß der Mensch sie auch 
ablesen kann.
Ein LCD, wo nur Flackern zu sehen ist, nützt keinem, sieht dafür äußerst 
unprofessionell aus.
Auch in der Software sollte man auf Ergonomie achten!

Ich mache daher Ausgaben nur etwa alle 200ms. Die CPU-Last durch das LCD 
mit festem Delay ist weit unter 1%.


Peter

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.