ich kanns probieren, bin allerdings die nächste woche nicht online. schick ihm doch mal ne pn und frag ihn nach seiner icq nummer, dann könnt ihr euch direkt kurzschliessen =)
Druckbare Version
ich kanns probieren, bin allerdings die nächste woche nicht online. schick ihm doch mal ne pn und frag ihn nach seiner icq nummer, dann könnt ihr euch direkt kurzschliessen =)
Hi wir können auch hier machen wenn du willst habe nur wennig zeit wegen dem kind bin aber jeden tag mal online kann nur nicht sagen wann genau
Hallo Leute (schon ein bisschen alt der Thread..)
Schön das ihr über das gleiche Display schreibt..
Wollte so eines jetzt auch zum Laufen bringen.
(habe aber keinen Asuro)
Habe dazu i2cmaster.s eingebunden und die i2cmaster.h
Mein Testcode geht jetzt so:
Jetzt habe ich mich den ganzen Tag geärgert und jetzt endlich doch hinbekommen.Code:cli();
i2c_init(); // initialize I2C library
i2c_start(0x74);
i2c_write(0x00);
i2c_write(0x01);
i2c_write(0x2E);
i2c_write(0x0F);
i2c_write(0x06);
i2c_stop();
i2c_start(0x74);
i2c_write(0x40); // RS auf 1
i2c_write(0x54);
i2c_write(0x65);
i2c_write(0x73);
i2c_write(0x74);
i2c_stop();
sei();
Leider erst, als ich den Takt vom Mega32 auf 1Mhz intern RC-Oscilator runtergedreht habe.
Aber 2 Mhz läuft das Display leider nicht mehr 8-[
Möchte aber mit 10 oder 16Mhz fahren..
Habt ihr ein Ahnung, was man da machen könnte..?
Arbeite da mit AVR_Studio und habe bei den Projekt-Optionen die Mhz schon runtergedreht.... wirkt aber leider nicht... :-(
Habe statt eurem "Msleep(3); " eine normale Verzögerung reingemacht, geht aber auch nicht..
Mit wie viel MHz fährt ihr eigentlich beim AVR?
Die Anbindung an das Display habe ich über ein ca. 2m Kabel...
Die Signale müssten aber eigentlich passen...
Vielleicht probiere ich mal kürzere Kabel oder einen Treiber..?
Habt Ihr vielleicht einen Tipp?
l.G. Roberto
Nochmal:
Hat sich erledigt:
Habe jetzt probiert:
Funktioniert jetzt mit 10Mhz Quarz :-)Code:i2c_start(0x74);
_delay_ms(5);
i2c_write(0x00);
_delay_ms(5);
i2c_write(0x01);
_delay_ms(5);
i2c_write(0x2E);
_delay_ms(5);
i2c_write(0x0F);
_delay_ms(5);
i2c_write(0x06);
_delay_ms(5);
i2c_stop();
_delay_ms(5);
//----------------------
i2c_start(0x74);
_delay_ms(5);
i2c_write(0x40); // RS auf 1
_delay_ms(5);
i2c_write(0x54);
_delay_ms(5);
i2c_write(0x65);
_delay_ms(5);
i2c_write(0x73);
_delay_ms(5);
i2c_write(0x74);
_delay_ms(5);
i2c_stop(); /
_delay_ms(5);
sei();
Komisch ist aber, wenn ich die Delay auf 10ms erhöhe, liegt der Kontrast vom Display ganz wo anders..
Bei 5ms muss ich fast auf 0V drehen, bei 10ms sehe ich keine Anzeige. Erst wenn ich den Kontratsregler auf Mitte drehe (ca.2,5V) sehe ich wieder den Text.. .........komisch... 8-[
bis dann...