Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[AVR][C] NOKIA5510/3310 kontrast

sorex86 10 Maj 2012 21:25 1419 1
  • #1 10 Maj 2012 21:25
    sorex86
    Poziom 15  

    Witam,.

    Jakis czas temu kupilem sobie nastepujacy modul http://www.sparkfun.com/products/10168 . Wyglada on tak samo jak http://www.kamami.pl/index.php?ukey=product&productID=180404&did=36 .Tak sie sklada, ze korzystajac ze strony http://hobby.abxyz.bplaced.net/index.php?pid=3&aid=10 udalo mi sie uruchomic wyswietlacz LCD NOKIA 5510. Kabelkologia jest poprawna. Jednak mam nastepujacy problem. Juz po wywolaniu inicjalizacji LCD ma on szare tlo. Gdy napisz jaki kol wiek tekst to ciezko go przeczytac. Czarny tekst na szarym tle. Pomyslalem, ze to moze byc problem z biblioteka. W koncu jest to prawdopodobnie podrobka nokii. Dlatego probowalem przerobic biblioteke, ktora dostalem od sprzedawcy. Wyglada ona tak: http://www.codeforge.com/read/157472/lcd-char.c__html (nie wklejam calosci poniewaz to jest zbyt dlugi kod). W tej bibliotece zmienilem nastepujace linie:


    Kod: c
    Zaloguj się, aby zobaczyć kod
    I niestety wyswietlacz nie dziala. Cos jeszcze musze zmienic w tej bibliotece? Jak usunac te szare tlo z wyswietlacza? Moj chinski jest troche slaby :D

    Gdzie mozna kupic PEWNY i SPRAWDZONY wyswietlacz, ktory bedzie mogl chodzic na baterii?

    0 1
  • #2 11 Maj 2012 09:35
    sorex86
    Poziom 15  

    Po dlugich bojach moze komus sie przyda. Biblioteka ze strony: hobby.abxyz zmienic w sekcji inicjalizacji wyswietlacza:

    lcd_write_byte(LCD_CMD, 0x21);
    lcd_write_byte(LCD_CMD, 0xc8);
    lcd_write_byte(LCD_CMD, 0x14);
    lcd_write_byte(LCD_CMD, 0x06);
    lcd_write_byte(LCD_CMD, 0xC8);
    lcd_write_byte(LCD_CMD, 0x20);
    lcd_write_byte(LCD_CMD, 0x0C);

    na

    lcd_write_byte(LCD_CMD, 0x21);
    lcd_write_byte(LCD_CMD, 0xc8);
    lcd_write_byte(LCD_CMD, 0x06);
    lcd_write_byte(LCD_CMD, 0x13);
    lcd_write_byte(LCD_CMD, 0x20);
    lcd_write_byte(LCD_CMD, 0x0C);

    1