Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   527 / 1319
(#) icserny válasza csonthulye hozzászólására (») Júl 13, 2009 /
 
A tokozás:
P - DIP ("hagyományos" dual in line)
SO - SOIC, Small Outline IC

Ha más különbség is van (pl. lábkiosztás) az az adatlapból derül ki.
(#) watt válasza icserny hozzászólására (») Júl 13, 2009 /
 
Most már értem mire gondolsz, köszi!
Viszont ez nem jelenti azt, hogy az USB-n is ilyen kis sebességgel jönnének az adatok. Tehát megint oda jutunk, hogy a CDC driver nem foglakozik a beállításokkal az USB sebességére vonatkozóan.
Ha interface-nek használjuk a soros emulátort, akkor is csak a kimenő baudot határozza meg. Valószínű, hogy csak a baud értéke kerül átküldésre és feldolgozásra, a többi nem változik a sima CDC driverhez képest.
(#) watt válasza trudnai hozzászólására (») Júl 13, 2009 /
 
Ezt nem tudom, de amiket én írok, azok biztosan beállítják a kívántat. Kivéve ennél a CDC drivernél.
(#) potyo válasza trudnai hozzászólására (») Júl 13, 2009 /
 
Valódi soros portnál igen, hiszen az alkalmazástól függ, hogy mivel akar kommunikálni, és akkor úgy állítja be, hogy a sebesség az legyen, ami annak az eszköznek megfelel, amivel kommunikálni akar.

USB-s soros portnál viszont a(z így vagy úgy) kiválasztott sebesség lényegtelen, hiszen az csak egy virtuális soros port, a CDC driver átalakítja USB kommunikációvá, a túloldalon meg a kontroller kihámozza, hogy mit küldött a PC.
(#) watt válasza watt hozzászólására (») Júl 13, 2009 /
 
Kiegészítve azzal, hogy a PC és a PIC között van kommunikáció a CDC driverrel(PIC USART nem játszik, mint ahogy az eredeti felvetésemben sem! Az csak úgy keveredett bele a dologba, ezért nem is értettem, hogy miről van szó.)
(#) icserny válasza watt hozzászólására (») Júl 13, 2009 /
 
Idézet:
„Tehát megint oda jutunk, hogy a CDC driver nem foglakozik a beállításokkal az USB sebességére vonatkozóan. Ha interface-nek használjuk a soros emulátort, akkor is csak a kimenő baudot határozza meg.”

Igen, pontosan ezt jelenti, amit tegnap írtam.
(#) watt válasza icserny hozzászólására (») Júl 13, 2009 /
 
Igazad van, ezt írtad, és akkor nem értettem, mert nekem eszembe se jutott volna, hogy USB-ből soros portot csináljak újra, mikor már bent van a PIC-ben az adat.
De az igaz, hogy ez egy MAX232-vel valós USB<->RS232 átalakítóvá válik, elektromosan is teljesen szabványossá. Sok eszköz követelné meg, és sok átalakító nem teljesíti!

(Szóban ez kb. 2 perc lett volna kikommunikálni, itt egy nap! Nem túl hatékony ez a platform! )
(#) elektroláma válasza potyo hozzászólására (») Júl 13, 2009 /
 
Ok, megnézem. Ha mclr-ről leveszem a 10k-t, akkor ?újraindulgat? folyamtosan(az egyik láb sűrűn villog). Ha ráteszem, akkor a led "lefagy", de a timer-es interrupt még lefut utána, majd annak a ledje is "lefagy".
(#) potyo válasza elektroláma hozzászólására (») Júl 13, 2009 /
 
Az MCLR-en ott kell lennie a felhúzónak. Arra gondoltam, hogy az áramkörnek akkor is illene jól működni, ha a PORTx biteket írod a LATx helyett.
(#) trudnai válasza potyo hozzászólására (») Júl 13, 2009 /
 
Idézet:
„Az MCLR-en ott kell lennie a felhúzónak. Arra gondoltam, hogy az áramkörnek akkor is illene jól működni, ha a PORTx biteket írod a LATx helyett.”


Nyilvan ennek az az elofeltetele, hogy nem lep fel ettol RMW hiba...
(#) elektroláma válasza potyo hozzászólására (») Júl 13, 2009 /
 
Ok, köszi.
Este majd beteszem a kódot, ha nem jutok vele semmire, meg a kapcsolást is.
(#) gabor128 hozzászólása Júl 13, 2009 /
 
Üdv!

Most kezdtem el LCD-t programozni, csak egyelőre nem megy. Mindent bekötöttem rendesen. Tápot megkapja, kontraszt beállítva, vezérlő lábak bekötve.

Tudna valaki felrakni egy egyszerű alap progit, ami mondjuk kirajzol egy A betűt az LCD-re, meg csinál egy vezérlőutasítást is, pl. képernyő törlése.
Azért kérem ezt, mert habár van leírásom az LCD írásához, olvasásához, de nekem nem működik. Ha lenne egy működő mintapélda, akkor az alapján már el tudnék indulni.
Az LCD egy ACM1601, 1 soros 16 karakeres kijelző. RS, R/W, E, D0-D8.

Köszi!
(#) icserny válasza gabor128 hozzászólására (») Júl 13, 2009 /
 
Használjuk a keresőt!

- cikk
- topik
- LCD szimulátor
(#) watt válasza gabor128 hozzászólására (») Júl 14, 2009 /
 
Idézet:
„kontraszt beállítva”

Biztos? Mert legutóbb én is azt hittem. Ez volt a második, amit megnéztem. Hogy állítod a kontrasztot(rajz?)?

A másik, hogy nem írod milyen nyelven, nem írod milyen PIC-re.
A kódodat is feltehetnéd, mert ha tényleg jó a kontraszt, akkor biztosan nem jól csinálsz valamit.
(#) gabor128 válasza icserny hozzászólására (») Júl 14, 2009 /
 
icserny!
Köszi a linkeket!

watt!
egy 8kOhm-os trimmerrel van beállítva. Az LCD-n 8 karakter "teliben" látszik. Mplab-ot használok 18F452-est.
(#) potyo válasza gabor128 hozzászólására (») Júl 14, 2009 /
 
Szerintem az a gond, hogy a 27. sorban hiányzik egy vessző a kódban!

Ha teliben látszik, akkor szinte biztosan rossz a kontraszt. Én úgy emlékszem,hogy nem látszik ott teliben semmi jól beállított kontrasztnál inicializálás előtt...
(#) gabor128 válasza gabor128 hozzászólására (») Júl 14, 2009 /
 
Ez a szimulátor nagyon jó, de elolvastam a másik leírást is. Valószínű, hogy ott rontottam el, amikor az Enable-t nem állítottam vissza 0 alaphelyzetbe beírás után.

Köszi az infókat!
(#) watt válasza gabor128 hozzászólására (») Júl 14, 2009 /
 
Esküszöm nem tudlak követni. És nem írtad milyen nyelven programozol.
(#) gabor128 válasza watt hozzászólására (») Júl 14, 2009 /
 
Mplab-ban assembly? nyelven.
(#) watt válasza gabor128 hozzászólására (») Júl 14, 2009 /
 
Tehát amit betettél képet, az az egész kód? Mert akkor nem csoda, hogy nem megy. Próbáld becsatolni az egész forrást, hogy legyen valami kiindulási alap.
(#) gabor128 válasza watt hozzászólására (») Júl 14, 2009 /
 
Bocsi hogy soká tartott. Próbáltam megfelelő formába rendezni, meg javítottam is rajta.
Egyelőre még nem működik az LCD. Lehet hogy tényleg a kontraszttal van baj. 10-20KOhmos potit javasolnak én meg 8kOhmost raktam bele (csak ilyen volt).
A progival kapcsolatban csak remélem hogy jó.

prog.txt
    
(#) watt válasza gabor128 hozzászólására (») Júl 14, 2009 /
 
Azért nem működik, mert nem csinálod végig az adatlapban leírt inicializációs lépéseket. Érdemes elolvasni részletesen és úgy felépíteni a programot.

Azt is gondold át, hogy amiket egy-egy sor mellé megjegyzésként írtál, fedheti-e a valóságot.
(#) gabor128 válasza watt hozzászólására (») Júl 14, 2009 /
 
Az a baj hogy nincs benne ilyen. Kerestem. Van pin kiosztás, hőmérsékleti adatok, időzítési adatok. Van egy írási időzítések diagram, meg egy olvasási és kész. Van még egy táblázat a vezérlőutasításokhoz, meg egy karakterkészlet. De az már nincs leírva, hogy hogy lehet beüzemelni. Ezért akartam itt segítséget kérni.
(Gondoltam hogy kell egy Display on utasítás, utána egy képernyőtörlés, ami a címet 0-ra állítja, majd egy karakter kiírása.)
Letöltöttem már néhány adatlapot hozzá. AMC1601C, AMC1601B, AMC1601D. Nagyjából ugyanaz van mindegyikben.

Az időzítéseknél volt az, hogy először az RS, majd RW, majd E, végül DB0-7 értékeket kell megadni, ilyen sorrendben.
Lehet hogy a ciklusidő miatt kell bele majd késleltetés.
(#) potyo válasza gabor128 hozzászólására (») Júl 14, 2009 /
 
Amit watt írt, azonkívül hozzátenném, hogy a
bcf INTCON,2
movf W_SAVE,0
és hasonló dolgokat nagyon nem szeretjük. Van azoknak a biteknek szép nevük, tessék azt írni oda! Az adatlapban is ezen neveket emlegetik, az egyes regiszterek leírásánál meg a header fájlokban is le vannak írva, ha nem tudnád, hogy a bitet pontosan hogy hívják.
(#) potyo válasza gabor128 hozzászólására (») Júl 14, 2009 /
 
Elég trehányak az LCD gyártók az adatlapok terén, de használd ezt: Link
(#) gabor128 válasza potyo hozzászólására (») Júl 14, 2009 /
 
Ez igen! Ez már adatlap.
Nagyjából átnéztem. Érdekes, hogy 3+1-szer kell kiadni a Funkció beállítást mielőtt még bármit is csinálhatnék vele. Illetve figyelni kell a Busy fleget.
A konraszt beállítást azt még mindig nem tudom hogy hogy kell beállítani.

Köszi a leírást!
(#) Norberto válasza gabor128 hozzászólására (») Júl 14, 2009 /
 
Idézet:
„konraszt beállítást azt még mindig nem tudom hogy hogy kell beállítani.”


Adatlap, 37. oldal.
(#) szilva válasza gabor128 hozzászólására (») Júl 14, 2009 / 1
 
Én még egy problémát felfedeztem a kódodban amellett, amire a többiek már utaltak (időzítések, init lépések): a definiált kifejezéseidet nem jól használod.

Ha így definiálsz egy kifejezést:
  1. #define EN PORTA,2


akkor azt így kell használni:
  1. bcf EN


és nem úgy, ahogy a programodban látom (BCF PORTA,EN). Ahogy te használod, úgy "BCF PORTA,PORTA,2"-re fog kifejtődni, aminek korántsem az lesz a hatása, amire számítasz (mellesleg minimum warningokat kellene kapnod emiatt fordításkor).
(#) gabor128 válasza Norberto hozzászólására (») Júl 14, 2009 /
 
Üdv!
Az oldalt én is megtaláltam, csak nekem más fajta van. Táprészről van egy GND, +5v, és egy LCD conrast adjust kivezetés. Erre kell egy potit rakni, meg tápfeszt. A kérdés az, hogy melyik irányba és mennyire csavarjam.
Ezt majd próbálgatással megoldom.
(#) Norberto válasza gabor128 hozzászólására (») Júl 14, 2009 / 1
 
Így szokták: LINK
Következő: »»   527 / 1319
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem