-
Atmega32 LCD betreiben
Hallo,
zuerst einmal bin ich unsicher, ob ich hier im richtigen Forum/-Grupe bin, ich verseuche es aber mal.
Am Atmega 32 möchte ich das serielle LCD nach Ulrich Radig betrieben, vielleicht hat das jemand von Euch am Laufen. Habe mir das serielle LCD mit der Platine nachgebaut.
Außer der Zeile eins mit fast allen Dots wird nichts angezeigt.
Den Atmega32 verwende ich ohne Quartz, habe deshalb nach
verschiedenen Versuchen in der USART.h bei ifndef ... die 16 MHz auf 1 MHz gesetzt und zus. in der main.c eingebaut:
#ifndef F_CPU
#define F_CPU 1000000UL // Takt CPU wird auf 1Mhz gesetzt
#endif
Ferner habe ich versuchsweise in der main.c nocht eine interne Funktion
init() eingefügt und dort den PORT C auf DDRC = 0xff als Ausgang gestzt.
Keine Veränderung.
Das Backlight geht mal an, oder bleibt aus, wenn ich die
Versorgungsspannung wegnehme bzw. dranhänge.
Beim Compilieren, Linken und Flashen bekome ich keine Warnung, keinen
Fehler.
Habe schone alle Leiterbahnen x-mal geprüft, kein Fehler.
Einziger Unterschied zum Original ist der Verwendung des
Schieberegisters 74HC164N anstatt 74AC164N. Soll aber angeblich keine
Problem sein.
Kann mir jemand helfen?
-
Wenn der Mega32 neu ist, JTAG deaktivieren.
-
Danke für die Info.
Aber wie deaktiviere ich den JTAG?
-
JTAG steht in den Fusebits. Da einfach deaktivieren.
-
Du kannst um JTAG nur temporär zu deaktivieren (falls du dich mit den Fuses noch nicht so auskennst) ganz am Anfang deines Programms zweimal hintereinander das Bit JTD im MCUCSR Register setzen (das funktioniert aber nur, wenn das Bit innerhalb von 4 Takten zweimal gesetzt wird, also wenn du in der Zwischenzeit nichts anderes machst).
-
Danke für Eure Antwort.
Zuerst werde ich den "vorsichtigen" Weg gehen. Ich kenne mich mit den Fuse-Bits wirklich noch nicht aus.
Gruß
-
Einfacher wäre es mit einem Programm zB. Pony Prog. Ist kostenlos.