 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
Goran_V Neznanec

Pridružen-a: Sre 03 Dec 2008 18:28 Prispevkov: 2 Aktiv.: 0.01
|
Objavljeno: Sre Dec 03, 2008 6:46 pm Naslov sporočila: |
|
|
Pozdravljen Noordung! Imam enak problem z lcdjem kot si ga imel ti, zato bi te prosil, če lahko malo bolj natačno poveš kaj in kako si spremenil da ti je stvar uspelo "prepričat" da deluje Uporabljam pa prav tako ploščo EasyAVR5 in pa ATMEGA 8515....
P.S. sem začetnik  |
|
Nazaj na vrh |
|
 |
Noordung Član


Pridružen-a: Tor 22 Jan 2008 18:07 Prispevkov: 23 Aktiv.: 0.11 Kraj: Škofja Loka
|
Objavljeno: Čet Dec 11, 2008 1:45 am Naslov sporočila: |
|
|
No pa dajmo povedati malo drugače...
Plata Easy AVR5 natančneje letvica za priklop lcdja je narejena tako, da gredo fizične povezave iz porta A do omenjene letvice kamor namestimo display.
Pametno je prej pogledati, kje na LCDju so biti, ki jih potrebujemo: R/W,RS, RD,E in štirje DATA biti( to je v datasheetu od hitaci kontrolerja, ki je del lcdja, s katerim mi komuniciramo s to knjižnico) naj opozorim, da to velja za knjižnico ki je integrirana v CVAvr-ju
Odpreš lcd.c in popraviš bite tukaj takole:
tole je bilo prej...
#asm
.equ __lcd_direction=__lcd_port-1
.equ __lcd_pin=__lcd_port-2
.equ __lcd_rs=0
.equ __lcd_rd=1
.equ __lcd_enable=2
.equ __lcd_busy_flag=7
#endasm
tole je pa potem, ko si popravil...
#asm
.equ __lcd_direction=__lcd_port-1
.equ __lcd_pin=__lcd_port-2
.equ __lcd_rs=2
.equ __lcd_rd=1
.equ __lcd_enable=3
.equ __lcd_busy_flag=7
#endasm
ne pozabiti, da moraš vključiti na začetku še tole predeninkludaš knjižnice(oziroma čarovnik to naredi sam):
#asm
.equ __lcd_port=0x18 (to je za port b, ti vpiši naslov porta a...datasheet mega16)
#endasm
potem šele inkludaš knjižnice
#include <lcd.h>
Sedaj pa vzemi kos žice in naredi povezavo iz R/W bita na LCDju na drugi bit porta A...pazi to je PORTA.1 in ne PORTA.0, tukaj začnemo šteti s 0!
To narediš zato, ker to niso naredili strokovnjaki, ki so zgradili to plato. Knjižnica pa je napisana tako, da NUJNO RABI podatek R/W bita, to pa zato, da ve kdaj mega 16 lahko pošlje nasleden podatek v buffer lcdja. Na plati pa je ta bit kar povezan na zemlo...tako, kontroler ne dobi povratne informacije, da lahko pošlje nasleden bajt informacij...se pravi čaka R/W bit da se postavi na 1, to se pa ne zgodi brez tiste prevezave.
Vse to bi delovalo lepo in prav, če bi bila knjižnica napisana s fiksnimi delayi recimo 50ms med vsakim oddajanjem informacij. Vendar pa je knjižnica, ki jo uporabljamo tako napredna in optimizirana, da dela kar se da hitro. Ta problem se ne pojavi v bascomu, ki ne ve za R/W bit in ima fiksne delaye med oddajanjem
Dovolj? |
|
Nazaj na vrh |
|
 |
Goran_V Neznanec

Pridružen-a: Sre 03 Dec 2008 18:28 Prispevkov: 2 Aktiv.: 0.01
|
Objavljeno: Pet Dec 12, 2008 7:10 pm Naslov sporočila: |
|
|
Stvarca deluje
Hvala za pomoč!!! |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 492 dni
Powered by phpBB © 2001, 2005 phpBB Group
|