Matyáš Profesionál


Založen: 2.4.2014 Příspěvky: 49
|
Zaslal: 16 prosinec 2015, 8:13 Předmět: |
|
|
Možná jsem našel problém související s RST:
Když vytvořím program, který pouze pošle na RST 1, tak GLCD vypadá tak, že je "vidět mřížka pixelů" - viz. obr. rst1.jpg.
Ovšem vždy, když na procesor nahraji nějaký kód (od funkce Initialize() dál), tak na konci displej vypadá tak, že "není vidět mřížka pixelů" - viz. obrázek rst0.jpg a mezi portem RA0 (RST) a zemí naměřím nulové napětí. To by znamenalo, že bez mého vědomí se na RA0 posílá 0, která "drží GLCD v resetu a tudíž nemůže pracovat".
Přikládám také program, který to dělá. Jediné místo, kde se pracuje s RST je funkce Initialize(), kde se hned na začátku dělá:
kód: | ...
void Initialize()
{
RS=0;
RW=0;
__delay_us(400);
RST = 0; // Set reset line to low
__delay_ms(100);
RST = 1;
__delay_ms(10); // Short delay after resetting.
Send_Command(0b00110000); // 8-bit mode.
...
|
Ale nikde dál už se na RST neposílá hodnota 0.
Myslím si, že v tom je celý problém, protože GLCD nemůže pracovat při resetu
Navíc na YouTube jsem vždy viděl, že u téměř všech GLCD je při provozu "vidět mřížka" - jako na obr. rst1.jpg.
Komentář: |
|
 Stáhnout |
Soubor: |
rst1.JPG |
Velikost: |
234.58 kB |
Staženo: |
116 krát |
Komentář: |
Displej při stavu RST = 0 |
|
 Stáhnout |
Soubor: |
rst0.JPG |
Velikost: |
143.79 kB |
Staženo: |
122 krát |
Komentář: |
|
 Stáhnout |
Soubor: |
main.c |
Velikost: |
4.74 kB |
Staženo: |
172 krát |
|
|