Nokia 3310 LCD Ansteuerung mit MSP430F5438

OP #4376680
Lesenswert?
• ▲
▼
Hallo,

ich versuche wie bereits oben geschrieben ein NOKIA 3310 LCD mit dem 
MSP430F5438 anzusteuern und etwas auszugeben. Den Code habe ich als 
Anhang beigefügt.
Der Code funktioniert soweit, jedoch nur solange ich in der Funktion 
CLK_init() im Register UCSCTL5 DIVM_x schreibe. Aber der Code 
funktioniert nicht mehr sobald ich beispielsweise DIVS_x schreibe. So 
wie es den Anschein macht, reagiert die SPI Übertragung nicht auf die 
SMCLK sondern nur auf MCLK, obwohl ich bereits im Register UCB2CTL1 
SMCLK als Clock für die SPI-Übertragung ausgewählt habe.
Ich wäre sehr dankbar für nützliche Tipps und Hilfe.
Angehängte Dateien:
#4376870
Lesenswert?
• ▲
▼
Zumindest die Initialisierung von XT2DRIVE ist falsch, weil "|=" nur 
dann funktioniert, wenn die Bits vorher auf 0 stehen.

Wenn SPI MCLK benutzen würde, dann hätte eine Änderungen von DIVS keinen 
Effekt.

Und was genau meinst du mit "funktioniert nicht"? Hast du kein 
Oszilloskop/Logic Analyzer?
OP #4377476
Lesenswert?
• ▲
▼
Mir ist schon klar wie Bitmanipulation funktioniert! Aber warum soll ich 
XT2DRIVE löschen? Damit wähle ich doch den Frequenzbereich aus, bei dem 
ich arbeiten möchte.
Ich habe jetzt den Code, der nicht funktioniert als Anhang beigefügt. 
Dort kann man sehen, was ich mit DIVS_X meine und wie ich versuche es zu 
ändern.
Angehängte Dateien:
OP #4377571
Lesenswert?
• ▲
▼
Ich verstehe nicht, warum in UCSCTL6 der Wert XT2DRIVE_3 stehen soll? 
Woran erkennst du das?
Ich benutze einen 18 MHZ Quarz.
Ich habe auch schon DIVM und DIVS gleichzeitig benutzt und es 
funktioniert nicht. Das Problem ist, dass das ganze nur dann arbeitet 
wenn ich MCLK mit DIVM runterteile, obwohl MCLK für SPI gar nicht 
ausschlaggebend sein sollte.
OP #4378079
Lesenswert?
• ▲
▼
DIVM = 0 bedeutet doch nur fmclk/1 und DIVM = 4 => fmclk/16. Inwiefern 
sollte die CPU deswegen nicht laufen?
Ich habe eben festgestellt, dass die LCD anzeige läuft, auch wenn ich 
DIVS und DIVM gleichzeitig initialisiere. Bsp. :
DIVM_5 + DIVS_5 => läuft nicht.
DIVM_5 + DIVS_1 => läuft.
Das heißt das DIVM immer "kleiner" sein muss als DIVS damit das ganze 
läuft, aber warum?

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.