[elektro] Batron LCD kérdés (probléma)
Karoly Kovacs
koka55 at yahoo.com
Sun Aug 1 16:40:47 CEST 2010
Amely esetrol beszeltem, amikor ez a furcsa jelenseg fellepett,
az a rencerem nekem is 8051 assembly-ben irodott.
Itt csak azert ideztem C-ben a peldat, hisz igy sokkal olvashatobb.
> Viszont az évek alatt kialakult olyan rutingyűjteményem, hogy sokszor
> az assembly programot is csak összeollóztam, mint egy magasszintű
> programot.
Ez dicseretes. Marmint, hogy olyan eljarasgyujtemenyed van, hogy
osszeallithato beloluk "valami". El sem hinned, hogy meg komoly rend-
szereknel is talalhato eljaras hivasi kovetkezetlenseg. Abbol aztan igen
nehez epitkezni.
Viszont ha ilyen melysegu gyakorlatod van, akkor nem fog gondot okoz-
ni a C sem. Egyre vigyazz! Ne probalj azonnal belemaszni a legmelyebb
C dolgokba. Sokszoros pointerek nelkul is lehet jol mukodo C programot
irni, mig ha beleugrasz a C legmelyebb bugyraiba, akkor hamar a ked-
vedet szegheti, mert a "deep space" C az borzalmas. :)))
Dolgoztam komoly projektekben (pl. Siemens mobiltelefon, stb.) C-ben,
es allitom, hogy eles korulmenyek kozt sehol sincsenek olyan melysegu
C nyavalyak alkalmazva, mint a C tankonyvekben. Hisz nem is ez a cel!
Arra is gondolni kell egy projektben, hogy sokan masok is bele fognak
nezni, javitani, tehat semmi ertelme "nagyon szepen" programozni, mert
erthetetlen lesz a program. Ez alol persze kivetel az, amikor nem felhasz-
naloi programot ir az ember gyereke, hanem pl. real-time kernelt. Na, ott
aztan erdemes fellapozni a tankonyveket, hisz nem a program jol olvasha-
tosaga a cel, hanem a mindere kiterjedo (meret, sebesseg) _maximalis_
hatekonysag. Egy belott mikrokontrolleres kernelt nem kell minden nap
javitgatni. :))) (Elvileg soha.)
Egy biztos: felejts el mindent, ami Basic! Basic szemlelettel nem fog jol
menni a C. Viszont ha az Assembly alapokra epitkezel, akkor sikerel-
menyt fog okozni.
Sok sikert!
Karoly
-----------------------------------------------------
"Houston, I am the problem!"
----- Original Message ----
> From: Skandar Graun <sgraun at gmail.com>
> To: elektro at tesla.hu
> Sent: Sun, August 1, 2010 1:50:27 PM
> Subject: Re: [elektro] Batron LCD kérdés (probléma)
>
> Bocs, én most csak a te C szintaktikádat szabtam át.
> Én assemblyvel kezdtem, ott is maradtam nagyon sokáig.
> Mostanában, kb 1-2 éve tértem át basic-ra.
> Viszont az évek alatt kialakult olyan rutingyűjteményem, hogy sokszor
> az assembly programot is csak összeollóztam, mint egy magasszintű
> programot.
> Erre mondtam, hogy jó lett és úgy maradt.
> Kacérkodok a C-vel, kénytelen is leszek megtanulni, de nem nagyon van
> hozzá ingerenciám.
>
>
>
> Karoly Kovacs <koka55 at yahoo.com> írta (2010. augusztus 1. 11:56):
> > Aha, ertem. Regebben en is csinaltam ilyet, de volt, amikor
> > eleg aktiv lcd hasznalatnal (gyorsan valtozo adatok)
> > lassu volt. Ugy ertem, hogy nem elektronyikailag volt
> > lassu, hanem a megjelenites sebessege. Azaz pl.
> > 1-tol mondjuk 50-ig felfele szamlalo kijelzesnel a szamlalast
> > nem lehetett latni, csak mondjuk minden n-edik lepest, majd
> > a vegeredmenyt, az 50-et.
> > Ezert egyszer vettem a faradsagot, alaposan "kibeleztem"
> > a programot, es gondosan atszabtam.
> >
> > Persze, igazad van, ha nem ilyen kenyes a muvelet, akkor
> > jobb ugy hagyni, ahogy van, ha mar egyszer jol mukodik. :)))
> >
> > Nalam annyiban is kenyesebb volt a dolog, hogy a fenti jelenseg
> > nem alfanumerikus, hanem egy 128x64-es grafikus kijelzonel
> > lepett fel, ahogy raadasul nem csak a szamok futottak, hanem
> > mellette egy grafikus "bar" is (hogy kell ezt magyarul mondani?).
> > Es ennel a grafikus vonalnal igen zavaro volt, hogy "egybol"
> > felugrott a vegallasba.
> >
> > Karoly
> >
> > -----------------------------------------------------
> > "Houston, I am the problem!"
> >
> >
> >
> > ----- Original Message ----
> >> From: Skandar Graun <sgraun at gmail.com>
> >> To: elektro at tesla.hu
> >> Sent: Sun, August 1, 2010 11:48:04 AM
> >> Subject: Re: [elektro] Batron LCD kérdés (probléma)
> >>
> >> LCD_data = ...;
> >> LCD_en = 1;
> >> call nopok
> >> LCD_rs = 0;
> >> call nopok
> >> LCD_rw = 0;
> >> call nopok
> >> LCD_en = 0; // Te ide teszel nop-okat, ha jol ertem
> >> LCD_busy();
> >>
> >> }
> >>
> >> inkább így.
> >> Ez bejött, azóta nem változtattam.
> >> Még annyi, hogy assembly rutinokról van szó, tehát gyorsabb, mint a C
> >>
> >> Karoly Kovacs <koka55 at yahoo.com> írta (2010. augusztus 1. 11:43):
> >> > Ja, ertem mar, mire gondoltal.
> >> >
> >> > Ez (ill. ehhez hasonlo) eleg jol szokott mukodni:
> >> > void LCD_command(unsigned char var){
> >> > LCD_data = ...;
> >> > LCD_rs = 0;
> >> > LCD_rw = 0;
> >> > LCD_en = 1;
> >> > LCD_en = 0; // Te ide teszel nop-okat, ha jol ertem
> >> > LCD_busy();
> >> > }
> >> >
> >> > Karoly
> >> >
> >> > -----------------------------------------------------
> >> > "Houston, I am the problem!"
> >> >
> >> >
> >> >
> >> > ----- Original Message ----
> >> >> From: Skandar Graun <sgraun at gmail.com>
> >> >> To: elektro at tesla.hu
> >> >> Sent: Sun, August 1, 2010 11:32:20 AM
> >> >> Subject: Re: [elektro] Batron LCD kérdés (probléma)
> >> >>
> >> >> A parancs kiadása: Write + select
> >> >> Select elvesz, write --> read
> >> >> Select vissza... majd várja a busy-t.
> >> >> Ha a select elvesz- write --> read váltás túl gyors, akkor lefagy az
>lcd
> >> >>
> >> >> Karoly Kovacs <koka55 at yahoo.com> írta (2010. augusztus 1. 10:59):
> >> >> > Ezt viszont en nem ertem. :)))
> >> >> >
> >> >> > Az en ertelmezesemben a busy-flag lekerdezese a kovetkezoket
>jelenti:
> >> >> > 1. valamilyen parancs
> >> >> > 2. busy?
> >> >> > 3. igen: goto 2
> >> >> > 4. nem: tovabb
> >> >> >
> >> >> > Itt egy jo pelda a sok kozul:
> >> >> > http://www.8051projects.net/lcd-interfacing/busyflag.php
> >> >> >
> >> >> > Szoval nem ertem, mit ertesz a busy flag lekerdezesenek idozitesen?
> >> >> >
> >> >> > Karoly
> >> >> >
> >> >> > -----------------------------------------------------
> >> >> > "Houston, I am the problem!"
> >> >> >
> >> >> >
> >> >> >
> >> >> > ----- Original Message ----
> >> >> >> From: Skandar Graun <sgraun at gmail.com>
> >> >> >> To: elektro at tesla.hu
> >> >> >> Sent: Sun, August 1, 2010 10:45:44 AM
> >> >> >> Subject: Re: [elektro] Batron LCD kérdés (probléma)
> >> >> >>
> >> >> >> Nem értettem félre.
> >> >> >> Pont a busy flag lekérdezésének időzítése a probléma. Legalábbis
> >> nálam.
> >> >> >>
> >> >> >> Karoly Kovacs <koka55 at yahoo.com> írta (2010. augusztus 1.
> 10:30):
> >> >> >> > Szerintem felreertitek a dolgot.
> >> >> >> >
> >> >> >> > En epp az ellenkezojet allitom, azaz ha a program
> kesleltetesesre
> >> >> >> > volt megirva, akkor az adott LCD kijelzonel jo (de lehet, hogy
>csak
> >> >> >> > eppen jo!) kesleltetesek mas kijelzonel nem lesznek jok.
> >> >> >> >
> >> >> >> > A korrekt megoldas mindenkeppen a busy flag _helyes_
>lekerdezese.
> >> >> >> >
> >> >> >> > Ez persze nem zarja ki azt, amit irtatok, hogy egy adott
> >> >>konfiguracioban
> >> >> >> > epp a kesleltetesek (nop-ok) adtak az optimalis eredmenyt a
busy
> >> > flag-es
> >> >> >> > megoldassal szemben.
> >> >> >> >
> >> >> >> > Karoly
> >> >> >> >
> >> >> >> > -----------------------------------------------------
> >> >> >> > "Houston, I am the problem!"
> >> >> >> >
> >> >> >> >
> >> >> >> >
> >> >> >> > ----- Original Message ----
> >> >> >> >> From: Bali Zoltan <eltexto at freemail.hu>
> >> >> >> >> To: elektro at tesla.hu
> >> >> >> >> Sent: Sun, August 1, 2010 10:00:38 AM
> >> >> >> >> Subject: Re: [elektro] Batron LCD kérdés (probléma)
> >> >> >> >>
> >> >> >> >> Detto, behalt a busy lekérdezésbe idönként. Én visszaírtam
> >> >>késleltetősre.
> >> >> >> >> Meg a krix-karxokat, nálam is a vonalak szürése (47-150pF)
> >>oldotta
> >> >>meg.
> >> >> >> >> Pár nop-al lassítottam még és tökéletes lett. A kondik
>közvetlenül
> >>az
> >> >> >> >> lcd panelra kerültek.
> >> >> >> >> A vezeték nem volt hosszú, 15 cm, de amikor a dc motor keféje
> >> >>kontaktos
> >> >> >> >> lett,
> >> >> >> >> előjőttek a krix-kraxok. A kondik óta nem. Ja és az lcd
>panelre
> >> >>kerültek
> >> >> >> >> még a
> >> >> >> >> felhúzók is, ha jól emlékszem.
> >> >> >> >>
> >> >> >> >> Üdv. Zoli
> >> >> >> >>
> >> >> >> >>
> >> >> >> >> 2010. 08. 01. 9:30 keltezéssel, Skandar Graun írta:
> >> >> >> >> > Nekem más típusnál ugyan, de szintén időzítési probléma
> >> > jelentkezett
> >> >> >> >>ugyanígy.
> >> >> >> >> > Pont a busy flag lekérdezésénél. Ha túl gyorsan mentem át
> >>írásból
> >> >> >> >> > olvasásba, akkor valami oknál fogva nem adott többé busy
> >> flaget.
> >> >> >> >> > Mintha a túl gyors váltás lefagyasztotta volna az lcd-t.
> >> >> >> >> > Az írás és az olvasás közé tett néhány 100 usec-es
várakozás
> >> >> >> >> > gyógyította meg. (ne kérdezd mennyi, sok nop utasítás
>volt,
> >> >> >> >> > egyszercsak jó lett. Na, akkor még betettem ötöt.)
> >> >> >> >> >
> >> >> >> >> > Karoly Kovacs<koka55 at yahoo.com> írta (2010. augusztus
> 1.
> >>8:24):
> >> >> >> >> >
> >> >> >> >> >> En ugy tapasztaltam, hogy ezeknel az szokott bajt okozni,
> > hogy
> >> >> >> >> >> nemelyik gyartmany nagyon erzekeny az idozitesekre.
> >> >> >> >> >> Ez onmagaban persze nem problema, a baj csak akkor
> szokott
> >> >> >> >> >> jelentkezni, hogy ha a programolo lusta, es a busy-flag
> >> > lekerdezese
> >> >> >> >> >> helyett minden utasitas utan varakoztatja egy kicsit a
> >>programot
> >> >> >> >> >> (delay). Ez szokott galibat okozni, hisz nem biztos, hogy
> >>valoban
> >> >> >> >> >> vegzett az lcd vezerlo az elozo utasitas
feldolgozasaval
> >> >> >> >> >> At kell irni a programot, hogy az utasitasok utan mindeig
> >> > kerdezze
> >> >> >> >> >> le a busy-t.
> >> >> >> >> >> Ha viszont eleve ilyen a programotok, akkor passz, nem
>tudom a
> >> >> >> >> >> valaszt.
> >> >> >> >> >>
> >> >> >> >> >> Illetve megis van egy masik otletem: jartam mar ugy, hogy
> >>"szurni"
> >> >> >> >> >> kellett valamelyik vezerlojelet (mar nem emlekszem,
>melyiket,
> >>most
> >> >> >> >> >> nem keresem elo a rajzokat).
> >> >> >> >> >> Ez alatt azt ertsd, hogy sacc per kabe 10nF-1uF kozti
>erteku
> >> >> kondival
> >> >> >> >> >> lehuzni a foldre. (Ahol ez nalam problema volt, ott
azonban
> >> igen
> >> >> >>hosszu,
> >> >> >> >> >> kb. 1,5m-es szalagkabel ment az lcd-hez. Ha rovidebb a
>kabel,
> >> >>akkor
> >> >> >> >> >> valoszinuleg nincs erre szukseg.)
> >> >> >> >> >>
> >> >> >> >> >> Karoly
> >> >> >> >> >>
> >> >> >> >> >> -----------------------------------------------------
> >> >> >> >> >> "Houston, I am the problem!"
> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >> >> ----- Original Message ----
> >> >> >> >> >>
> >> >> >> >> >>> From: Arpad<kando777 at googlemail.com>
> >> >> >> >> >>> To: elektro<elektro at tesla.hu>; "elektronika, uC, dsp,
> >> wlan,
> >> >> >>programozas"
> >> >> >> >> >>> <retro at lists.tmp.hu>
> >> >> >> >> >>> Sent: Wed, July 28, 2010 8:28:43 AM
> >> >> >> >> >>> Subject: [elektro] Batron LCD kérdés (probléma)
> >> >> >> >> >>>
> >> >> >> >> >>> Üdv!
> >> >> >> >> >>>
> >> >> >> >> >>> Van egy termékünk, amiben a kijelző modul Batron
>gyártmányú,
> >> >>2x16
> >> >> >> >> >>> karakteres, zöld led háttérvilágítású LCD, BTHQ
>21605VSS-06
> >> >>típusú,
> >> >> >> > ezzel
> >> >> >> >> >>> nem volt problémánk, most viszont a
raktár/anyagbeszerzés
> >> kicsit
> >> >> >>másabb
> >> >> >> >> >>> típusjelű kijelzőket szerzett be, állítólag ez van a
régi
> >> > helyett,
> >> >> >> ennek
> >> >> >> >>a
> >> >> >> >> >>> típusa: BTHQ 21605VSS-25. Azonban valami mégse jó ezzel
a
> >> >>modullal,
> >> >> >> mert
> >> >> >> >>bár
> >> >> >> >> >>> megkapja rendben a buszon az adatokat mégis egy idő után
> a
> >> >>kijelzőn
> >> >> >> >> >>> mindenféle ,,krix-krax'' karakter jelenik meg vagy éppen
>nem
> >>ír
> >> > ki
> >> >> >> >>semmit,
> >> >> >> >> >>> sőt néha a berendezést is lefagyasztja. Esetleg más
> > tapasztalt
> >> >> >> hasonló
> >> >> >> >> >>> hibát, aki alkalmaz ilyen, újabb kijelzőt? Vagy esetleg
> > valaki
> >> >> tudja,
> >> >> >> a
> >> >> >> >> >>> ,,régi'' fajtát még be lehet szerezni valahol?
> >> >> >> >> >>>
> >> >> >> >> >>> --
> >> >> >> >> >>> Arpad Lakatos
> >> >> >> >> >>>
> >> >> >> >> >>>
> >> >> >> >>
> >> >> >> >> -----------------------------------------
> >> >> >> >> elektro[-flame|-etc]
> >> >> >> >>
> >> >> >> >
> >> >> >> >
> >> >> >> >
> >> >> >> >
> >> >> >> > -----------------------------------------
> >> >> >> > elektro[-flame|-etc]
> >> >> >>
> >> >> >> -----------------------------------------
> >> >> >> elektro[-flame|-etc]
> >> >> >>
> >> >> >
> >> >> >
> >> >> >
> >> >> >
> >> >> > -----------------------------------------
> >> >> > elektro[-flame|-etc]
> >> >>
> >> >> -----------------------------------------
> >> >> elektro[-flame|-etc]
> >> >>
> >> >
> >> >
> >> >
> >> >
> >> > -----------------------------------------
> >> > elektro[-flame|-etc]
> >>
> >> -----------------------------------------
> >> elektro[-flame|-etc]
> >>
> >
> >
> >
> >
> > -----------------------------------------
> > elektro[-flame|-etc]
>
> -----------------------------------------
> elektro[-flame|-etc]
>
More information about the Elektro
mailing list