So un noch nen update...
DAS DING GEHT EINWANDFREI!
der vollhorst der das datenblatt verfasst hat, in dem als beispiel der text PHILIPS ausgegeben werden soll, den ich mit PHHHHH vereinfacht habe, den UMGEKEHRTEN ZEICHENSATZ benutzt, der dazu da ist dass man das display überkopf lesen kann...
es wird also korrekt PHHH angezeigt, nur dass alle buchstaben auf dem kopf stehen...
Danjo, bitte probier mal dieses Programm... und wenn du es schaffst, dann schau dir vorher den code NICHT an, in den kommentaren steht was ausgegeben wird (werden sollte)
Code:
#include <avr/io.h>
#include "i2cmaster.h"
#include "asuro.h"
#define Display 0x74 // device address of Display, see datasheet
int main(void)
{
int ret=0;
Init();
i2c_init();
ret = i2c_start(Display+I2C_WRITE);
if ( ret )
{
i2c_stop();
StatusLED(RED);
while(1);
}
Msleep(200);
i2c_write(0x00);
Msleep(200);
i2c_write(0x2E);
Msleep(200);
i2c_write(0x0F);
Msleep(1000);
i2c_write(0x06);
Msleep(200);
i2c_stop();
ret = i2c_start(Display+I2C_WRITE);
if ( ret )
{
i2c_stop();
StatusLED(RED);
while(1);
}
Msleep(200);
i2c_write(0x40); //Kontroll Byte
Msleep(200);
i2c_write(0xC8); //H
Msleep(200);
i2c_write(0xE1); //a
Msleep(200);
i2c_write(0xEC); //l
Msleep(200);
i2c_write(0xEC); //l
Msleep(200);
i2c_write(0xEF); //o
Msleep(200);
i2c_write(0xA0); //Leerzeichen
Msleep(200);
i2c_write(0xC4); //D
Msleep(200);
i2c_write(0xE1); //a
Msleep(200);
i2c_write(0xEE); //n
Msleep(200);
i2c_write(0xEA); //j
Msleep(200);
i2c_write(0xEF); //o
Msleep(200);
i2c_write(0xA1); //!
Msleep(200);
while(1);
return 0;
}
viel glück...
raid_ox: die bibliothek bau ich gerad auf, lass dann später mal deine (für die DOG- und HD44780 Displays) und meine (die für dieses komische ding von Danjo =) zusammentragen, dann machen wir eine große LCD Library.
edit: Danjo mach ein FOTO!!
Lesezeichen