Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Kontraszt? (Nem tudom lehet-e állítani, ill. hogy a kártya támogatja-e, vagy fixen beállított, csak egy tipp...)
Azzal nincs gond, meghajtja az LCD-t de teli karaktereken kívül nem látok semmit, azt viszont folyamatosan!
Állítási lehetőséget jelentem nem találok!
Tudom, hogy nehéz eset vagyok, de még csak most ismerkedem vele
Sziasztok!
Tegnap óta nem megy a PIC égetés. Bármilyen típust próbálok írni, ugyanaz a hibaüzenetet kapom: "Verify failed at address 0000h!" Az égetőm döglött meg, vagy bennem van a hiba? Idáig probléma nélkül ment minden.
Egy pic24fj128ga008-nál mit ért a leírás internal clock alatt? Leírésban látom, hogy a T1COO 1-es bitje ha 0 akkor internal de azt nem találom, hogy az mekkora.
Most nincs oszcillátor a pic-en mégis megy, tehát van belső az tuti, csak azt nem látom sehol hány herces.
Sziasztok! Minden PIC USART-ja lehetővé teszi az rs485-ös kapcsolatot? Vagy ez így hülye kérdés volt?
Hát szerintem igen, mivel a nevében is benne van hogy univerzális soros. Csak a kíván soros protokollnak megfelelően kell illesztened.
Nézd meg, melyik a Vo lába(ha igaz, akkor a harmadik), azon kell lenni két ellenállásnak. Azok aránya határozza meg a kontrasztot. A tápfesz nagyban befolyásolja a kapott eredményt, ezért lehet, hogy érdemes lenne matatni azokkal az ellenállásokkal. Ha pozitív felén csökkented az ellenállást(vagy a negatívabb felén(ami a testre megy) növeled, akkor a kontraszt csökken. Vigyázz, nem érdemes felkötni 5V-ra, végén még tönkremegy, csak az ellenállást érdemes megpatkolni(ugyanolyat párhuzamba kötni vele). Ha nincs változás, akkor a programban, vagy az "ön" készülékében van a hiba!
Olvasd el amit írtál, és gondold végig mit lehet egy ilyen kérdésre válaszolni!? Semmi adatot nem adtál meg! (égető, program, PIC, Port ???)
Külön kell választani a kommunikációs protokollokat és az áramköri felépítés protokollokat. Mindegyik mást ír le. Az RS485 egy áramköri felépítést leíró protokol. Az USART pedig univerzális, azaz sokféle kommunikációs protokollra beállítható eszköz. Keress RS485 illesztő IC-t és használhatod többféle kommunkációs protokollal. Egyébként még a kommunikációs protokolloknak is vannak rétegei, amiket külön protokollok írnak le.
Adatlap oszcillátorok... Megnézzem helyetted?
Ez mindent el kell mondjon:
Hát follyon ki a szemem hogy nem láttam. Pedig ezt néztem én is. Akkor 8Mhz azt lehet 4*ezni így jön ki a 32Mhz. Most már csak azt nem értem, hogy akkor a szimulátorban miért megy, és a panelen miért nem? RD0-on van egy 240 ohmos ellenállás egy leddel és a flying the pic24 könyv interruptját próbáltam a 008-ra átrakni. Lefordulni lefordult, de nem megy be a timerbe. Szimulátorban meg kasán befut.
Ha nem használok interruptot, csak simán késleltetem akkor villog a led rendesen, de átnézem még egyszer a kódot.
Nem mindent értek, amit írsz és nem tudhatom hogyan próbálod életre kelteni, de az átnézés az mindig egy jó ötlet!
Idézet: „interruptját próbáltam a 008-ra átrakni” Annyira én sem értem.. Erre a vektorra szeretnéd áthelyezni (000008h)? Csak mert ez az Address Error számára van fenntartva.
Egy fényképet tudsz küldeni az LCD-ről (mert többféle típussal forgalmazzák, tehát tisztázni kellene, hogy milyen van a kártyán...).
Utána az LCD-re menő feszültségeket kellene, hogy ellenőrizzük (valamelyik átkötés vagy ellenállás elszállhatott) Az enyém így néz ki. Idézet: „mert többféle típussal forgalmazzák” A lábkiosztásuk is más lehet? Mert gondolom hd44780 kompatibilisek...? Idézet: „Most már csak azt nem értem, hogy akkor a szimulátorban miért megy, és a panelen miért nem?” Talán a forráskód ismeretében tudnánk rá válaszolni. De így? Idézet: „A lábkiosztásuk is más lehet?” Igen. A tápfesz is, meg a bekötés is más. Mi, akiknek 5 V-os típus jutott, külön ráfaragtunk azzal, hogy nem 5 V toleráns lábakat is összekötöttek az LCD-vel (van erről is külön Errata).
Nem dehogy. A flyban Pic24FJ128GA010-es van , az én próbapanelemre meg Pic24FJ128Ga008-ast raktam, így értettem a 008-ra átrakni.
Közben rájöttem, hogy megy ez, be is megy az interruptba, csak éppen a szorzót nem kapcsolta be a kódban a szerző, (legalábbis a forrásból nem, persze lehet, hogy a lemezen lévő projektben be van lőve ezt még meg kell néznem), ezért nem villogott úgy ahogy vártam. Egyébként én a timernél néztem az oszcillátor frekit a 10.-1es ábrán és persze nem ott van. Idézet: „csak éppen a szorzót nem kapcsolta be a kódban a szerző,” Akkor meg is van a mai hibafeltárás adagod! Az már jelent valamit, ha ilyet észrevesz valaki!
Tényleg, hisz' írtad is feljebb; jó meglátás, valóban nincs a könyvben levő forrásban oszcillátor beállítás.
Mondjuk ez gigantikus hülyeség, mert ha project nincs meg, használhatatlan a kód. Na akkor most meg kell keresnem hol kell ezt belőni.
Idézet: „Az enyém is igy néz ki.” Ez alighanem a LUMEX LCM-S01602DTR/M típus, melynek itt található az adatlapja, és itt a itt a gyári honlapja.
Hát alakul mint púpos gyerek a prés alatt, de még nem az igazi. Az egy mp helyett 2 mp-enként vált ezekkel a beállításokkal:
_CONFIG1(JTAGEN_OFF & FWDTEN_OFF) _CONFIG2(FNOSC_FRCPLL & POSCMOD_HS) Ez van a headerben: ; Oscillator Selection: ; FNOSC_FRC Fast RC oscillator ; FNOSC_FRCPLL Fast RC oscillator w/ divide and PLL ; FNOSC_PRI Primary oscillator (XT, HS, EC) ; FNOSC_PRIPLL Primary oscillator (XT, HS, EC) w/ PLL ; FNOSC_SOSC Secondary oscillator ; FNOSC_LPRC Low power RC oscillator ; FNOSC_LPRCDIV Fast RC oscillator with divide és ez: ; Oscillator Selection: ; POSCMOD_EC External clock ; POSCMOD_XT XT oscillator ; POSCMOD_HS HS oscillator ; POSCMOD_NONE Primary disabled Valamit még kihagytam volna?
Csak tippelni tudok: Esetleg Fosc=32 MHz-cel számoltál a 16 MHz-es Fcy helyett?
A belő oscillátort 8Mhz-s az a pll-el lesz 32.000.000
a képlet úgy szól, hogy a fosc/2/prescal*t azaz 32.000.000/2=16.000.000/64=250.000*1=250.000 E helyett a kódban 25.000 van és így 2mp ha leveszem 12.500-ra akkor 1mp. A kódrészlet: TMR1 = 0; // clear the timer PR1 = 12500-1; // set the period register // 2.1 configure Timer1 module T1CON = 0x8020; // enabled, prescaler 1:64, internal clock Mit hagyok ki? mert ez momentán nagyon nem jó, mert az oszcillátort nem tudtam felemelni pll-el 32Mhz-re vagy valam mást nézek be, de a képlettel 250.000 jön ki amivel viszont 15 váltást csinál 1 perc alatt ami ugye 4mp-es váltást feltételez ha marad 8MHz-s az oszcillátor. 8000000/2/64*4-el az pont 250.000, tehát a belső órajelet nem tudtam megnégyszerezni, de ha nem az előbb említett configokkal kell, akkor mivel? |
Bejelentkezés
Hirdetés |