www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik dsPIC33F: Problem bei Ausgabe auf LCD


Autor: Andreas T. (megagad)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich verwende den dsPIC33F256GP710 mit dem Explorer 16 Board. Von 
Micorchip wird ein Testprogramm angeboten, welches Werte vom ADC liest 
und auf dem LCD ausgibt. Das funktioniert alles wunderbar.
Das Device läuft auf dem Board mit einem externen Oszillator bei 8 MHz. 
Für meine Anwendung ist das zu langsam. Ich habe deshalb den Takt 
mittels PLL auf 40 MHz gesetzt. Allerdings funktioniert nun das 
Schreiben ans LCD nicht mehr.
Ich konnte feststellen, dass dieses vermutlich an einer delay-Funktion 
liegt, die in den mitgelieferten Source und Header Dateien für das LCD 
verwendet wird.
Im Header delay.h wird ein Wert für den Systemtakt festgelegt, woraus 
dann die Wartezeit berechnet wird:
#define Fcy  16000000

void Delay( unsigned int delay_count );
void Delay_Us( unsigned int delayUs_count );

#define Delay200uS_count  (Fcy * 0.0002) / 1080

...
Hier ist der Takt anscheinend auf 16 MHz eingestellt. Wenn ich diesen 
Wert nun auf 40 MHz ändere, funktioniert die Ausgabe aufs LCD dennoch 
nicht.
Eigentlich sollte das Testprogramm ja auch bei 8MHz laufen, deshalb 
verwundern mich auch die 16 MHz.
Eine Änderung auf 80 MHz hat aber auch nicht geholfen.

Den Systemtakt 40MHz für meine Anwendung habe ich anscheinend korrekt 
eingestellt da zb die serielle Übertragung zum PC über UART 
funktioniert.

Ich hoffe ich habe meine Problem verständlich dargestellt.

Autor: Andreas T. (megagad)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zur Info....

Problem gelöst:

In den verwendeten Sources für das LCD werden neben den benannten 
delay-Befehlen auch nop()-Anweisungen benutzt.
Ich habe die Anzahl der der "nops" auf den neuen Systemtakt angepasst 
und nun funktioniert die Übertragung zum Display.

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.