Witam
Moze ktos sie spotkal z tym problemem co ja.. Uzywalem wyswietlacza z kontrolerem SED1335 (1 ekran tekstowy, 1 graficzny
320x240)Ale skonczyly sie starsze modele, a nowy ma uklad S1D13700. Niby kompatybilny z poprzednia wersja, ale jednak cos jest nie tak..
I ekran (tekst) dziala poprawnie, II ekran (grafika) dziala poprawnie, III ekran (wylaczony) zdaje sie "przebijac" przez poprzednie ekrany, mimo iz cala pamiec jest zapisana zerami (probowalem tez z 0xff ale tez nie dziala).
Wylaczanie poszczegolnych ekranw (I i II) dziala poprawnie.. z wyjatkiem, ze caly czas przebija trzeci ekran
Jesli ktos sie spotkal z podobnym problemem i go rozwiazal bylbym wdzieczny za odpowiedz :)
Przytocze jeszcze uproszczona konfiguracje wg pdfa, ktora powinna dzialac moze cos trzeba robic w innej kolejnosci?
const rom char system_tbl[] = {0x20,0x87,0x07,0x27,0x2d,0xef,0x28,0x00}; const rom char scroll_tbl[] = {0x00,0x00,0xf0,0xb0,0x04,0xf0,0x00,0x00,0x00,0x00}; // probowalem tez {0x00,0x00,0xf0,0xb0,0x04,0xf0,0x30,0x2a,0x00,0x00}; // z czyszczeniem dodatkowych 9600 B
lcd_cmd(0x40); // system set for(i=0;i<8;i++) lcd_data(system_tbl[i]); lcd_cmd(0x44); // scroll for(i=0;i<10;i++) lcd_data(scroll_tbl[i]); lcd_cmd(0x5a); // hdot scr lcd_data(0x00); lcd_cmd(0x5b); // ovlay lcd_data(0x00); lcd_cmd(0x58); // disp off lcd_data(0x16); // [332211CC] (00 - off, 01 - on, 10/11 - blink)
lcd_cmd(0x46); // set cursor (0x0000) lcd_data(0x00); lcd_data(0x00); lcd_cmd(0x42); // mwrite for(i=0;i<1200;i++)lcd_data(0x20); // 40x30 = 1200 (text) for(i=0;i<9600;i++)lcd_data(0x00); // 320 x 200 / 8 = 9600 (graph) // takie cos tez nie dziala (zamiast drugiego if-a) // for(;i<0x8000;i++) lcd_data(0x00); // do konca pamieci 0x00
lcd_cmd(0x5d); // csr form lcd_data(0x04); lcd_data(0x86); lcd_cmd(0x59); // disp on lcd_cmd(0x4c); // csr dir
lcd_str_pgm("dziala"); // wypisuje dziala lcd_bar(0,0,100,20,1); // rysuje ekran (x,y,dx,dy,color)