Sida 1 av 1

50%-ig LCD

Postat: 9 maj 2008, 08:23:09
av erikbrannlund
Hej!

Min OLED display dog, förmodligen pga kortis. Därför köpte jag en 4*20 från Fractronics men jag får bara text på rad 1 och 3. Om jag gör en loop som skriver på alla addresser från 0x0 till 0x60 så blir det text på rad 1 från adress 0 till 0x13. Address 0x14 till 0x27 ger text på rad tre som förväntat men övriga adresser så händer ingenting.

Initieringen ser ut som följer
void hd44780_init(void)
{

HD44780_DDR = _BV(HD44780_RS) | _BV(HD44780_RW) | _BV(HD44780_E)
| HD44780_DATABITS;

_delay_ms(40); /* 40 ms needed for Vcc = 2.7 V */
hd44780_outnibble(HD44780_FNSET(1, 0, 0) >> 4, 0);
_delay_ms(4.1);
hd44780_outnibble(HD44780_FNSET(1, 0, 0) >> 4, 0);
_delay_ms(0.1);
hd44780_outnibble(HD44780_FNSET(1, 0, 0) >> 4, 0);

hd44780_outnibble(HD44780_FNSET(0, 1, 0) >> 4, 0);
hd44780_wait_ready();
hd44780_outcmd(HD44780_FNSET(0, 1, 0));
hd44780_wait_ready();
hd44780_outcmd(HD44780_DISPCTL(0, 0, 0));
hd44780_wait_ready();
}

Finns det ngt mer som behöver initieras eller?

/Erik

Postat: 9 maj 2008, 13:42:09
av laban12
4 radiga displayer har ibland två kontrollerkretsar.
Du får kolla databladet, i så fall bör det finnas en ChipSelect på kontaken för att växla mellan kontrollerna.

Postat: 9 maj 2008, 13:48:45
av erikbrannlund
Fast tyvärr verkar det inte vara så. Det står inte ett ord i databladet om ngn chipselect. Däremot står det att rad 2 ligger på 0x40 adressen, vilket det även gjorde på min gamla 2 raders OLED.

/Erik

http://www.fractronics.com/4x20bla_new.shtml

Postat: 14 maj 2008, 20:20:15
av v-g
Du har initierat den rätt också? Dvs sagt att det ska vara 4radig.