Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
OK, akkor probald ki az LCD-nek tapot egy PNP-n keresztul adni. Aztan a programbol kesleltetve bekapcsolni. Lehetne kis kondikat is tenni a vezerlolabakra es novelni picit az idoket.
Nem tudom az alattiak fenyeben ertelmezni az eredeti 'es a pic programja sem indul el' kitetelt. Hasznalod-e a BUSY labat? Az szokott beragadni es nem megy tovabb. Idézet: „Az oszcillátor jó mert ha pl ledet villogtatok akkor az megy. Onnan gondolom, hogy nem fut a program, hogy az első utasítás az inicializálás előtt a led kigyújtása.” Nekem ez most zavaros kicsit. Most akkor a PIC programja nem fut? Magyaran a LED nem vilagit? Vagy mikor villognak a LED-ek?
A ledvillogtatást egy másik program betöltésével csináltam úgy, hogy az áramkört nem változtattam meg.
Az lcd programban egy ledet kellene kigyújtani az inicializálás előtt. Ebből gondoltam látni, hogy fut a program. Afféle vizuális teszt. Néha bekapcsolás után nem gyúlad ki.
Ha a LED portjat inicializalo rutin elott a LED-et ki akarod gyujtani, akkor lehet a port inicializalas hianya miatt az meg fog hiusulni, nem? Vagy a port init megvolt csak az LCD init nem?
Masik, hogy lehet a LED kigyullad majd nagyon gyorsan elalszik? Harmadik gondolat, hogy az inicializalas elott van a hiba. Negyedik gondolat, hogy elektonyosan valami nem stimmel. Pl. mikor az LCD bekapcsolodik akkor kap egy zavart, vagy egy pillanatra leesik a tap, vagy valami modon resetalodik a PIC ami utan mar hibas utra teved vagy reseten marad... Amugy lehet tobbet tudnank segitani kapcs rajz + program lattan.
A bekötés teljesen alap, portb= lcd adatvonalak, porta =command
Ha nem pontos az LCD inicializálása, akkor ott elakadhat.
A LED "áthelyezésével" ki kell tapogatni, meddig megy el a program, mikor rosszul működik. Így kiderülhet, hogy melyik feltétel után akad el... szerk: Közben látom betetted a programot, azt még nem láttam, mikor ezt írtam...
Az biztos, hogy a táblázat a leggyorsabb, de simán egy ciklussal végig megyek és egy 16bites int-be bitset-el beállítom azokat amiknek 1-en kell állni (előtte persze 0-áztam)
Ez persze nem gyors, de lehet szépen ellenőrizni a debugban. Alinket meg fogom nézni köszönöm szépen, de akkor jól gondoltam, hogy nem igazán azt csinálja amit leírt, (és persze nem is megy).
Itt nyilvanvaloan van egy jokora adag RMW hiba. Min tegyel be az utasitasok koze egy-egy nop-ot. Ezenkivul ket megjegyzes meg: Az egyik, hogy a delay rutin ugy szamoltam csak 10ms-ot var, nem 30-at ha 255-ot toltesz a W-be (es valahol meg jol irod, hogy ha 1-et akkor 39us-ot var, bar en kb 42-t szamoltam, de akkor alatta mikor 2-t toltesz miert irod, hogy 2ms? Masik megjegyzes, hogy a bank szelekciot badarsagnak tartom call-al hivogatni es INC file-ba egyaltalan kodot rakni. Macrozd le es makro "hivassal" intezd el. Amugy ha a LED nem eg akkor gaz lehet vagy a banksel kornyeken vagy elektromosan.
A delaynál azért vannak össze vissza értékek mert kínomban már eláligattam őket, a kommentek meg maradtak.
Includfájlba azért került a bankváltás, hogy kisérletezés közben minél rövidebb legyen az ablakban a szöveg. Később ha működik a kód akkor kikerül belőle és makróval helyettesítem. Nekem így kényelmesebb, nem kell keresgélni annyit. Az RMW érdekes, utánaolvasok és kijavítom délután, most mennem kell melózni. Köszi a segítséget.
Megnéztem a programod, ebben nincs semmi olyan rész, ahol elekadhatna! Az LCD_Ok rutint meg sem hívod.
Az egész program úgy tűnik nekem, a levegőben lóg, nem értem azt sem mit csinál(leginkább semmit?) A másik, hogy nem látom, hogy mikor állítod be az LCD vezérlésének módját(nem is írtad, hogy milyen módon van bekötve. 4, vagy 8 bitest mód?). A gyári ajánlások szerint a 8bites mód beállítást első körben 3x kell kivinni, majd utána jöhetne a 4bites móg kiválasztasa, már ha szükség van rá. Felkommentezhetnéd az LCD-re kivitt adatok mellett, hogy mit is akarsz ott, mert így nagyon nehéz követni bármit! Idézet: „A delaynál azért vannak össze vissza értékek mert kínomban már eláligattam őket, a kommentek meg maradtak.” Velemenyem szerint egyszerubb lenne a DELAY-eket felbontani es a rutinok cimkeivel "megmagyarazni" mit is csinal es akkor nincs ilyen gond. Pl. Lehetne egy DELAY_10us, amit hivogat 100x egy DELAY_1ms nevu. Ha nagyon rovideket kell varni, pl 60us-et, akkor MOVLW .6 majd CALL DELAY_10us. Ha hosszabbat, pl 30ms, akkor MOVLW .30 majd CALL DELAY_1ms. Ily modon mindig lehet latni mi tortenik, nem kell karban tartani a kommenteket. Idézet: „Includfájlba azért került a bankváltás, hogy kisérletezés közben minél rövidebb legyen az ablakban a szöveg.” Makro ugyanugy egy sor lenne mint a CALL Es a makro definiciokat ugyanugy rakhatnad INC file-ba, es akkor az include mehetne az asm elejere. Amugy van egy BANKSEL nevu elore definialt makro (MPASM altal definialt), azt is lehetne hasznalni. Ennek hasznalata eleg egyszeru amugy.
MCLR lábbal mi a helyzet? Config bitekben engedélyezve van-e a külső reset?
Üdv
Azt szeretném kérdezni, hogy hogyan lehet PI-nél megoldani azt hogy (pl egy órát csinálok) akkor amikor nem kap áramot akkor egy 3V-os akksi táplálja a PIC-t hogy ne felejtse el az időt? Hogy lehet ezt rákötni? Illetve hogy hogyan lehet azt megoldani hogy ez az akksi addig töltődjön amég kap külső tápot, majd ha nincs külső táp akkor ugye arról megy a PIC? Köszi
Mégegy kérdés...
B porton történt megszakításkor, hogyan lehet kiolvasni hogy melyiken történt a megszakítás? Köszi
Úgy, hogy összehasonlítod az előző megszakításkor lementett portállapotot a jelenlegivel. Amelyik bit(ek) eltér(nek), az(ok)on történt a megszakítás. XOR művelet nagyon hasznos erre.
Sziasztok!
Tudnátok ajánlani egy olcsó GSM modult vagy megoldást, amit egyszerűen hozzá tudnék kötni egy PIC-hez és SMS-t küldeni vele? Köszi és üdv.: Zoli
Egy alkalmas mobiltelefon, benne feltöltős kártya. Nokia típusokhoz van egy csomó projekt is a neten.
Az úgy nem az igazi. Jó lenne, ha minél kevesebb helyet foglalna el.
A HE Store-ban nézegettem GSM modulokat, de igazából nem tudom, hogy melyik lenne erre a célra megfelelő: http://www.hestore.hu/kat_350.html Esetleg ebben tudnátok segíteni? Üdv
Az Olimex-nél találsz kész PIC-GSM projektet, letölthető dokumentációval. De akár készen is megveheted. Magyarországo forgalmazót is talász
itt. Ebben a projektben a kapcsolási rajzon SIM300D_HD_V2 típusjelzés látható. Fogalmam sincs, hogy ez a tokozáson kívül miben tér el a HE-STORE-ban kaphatő többi SIM300 modultól.
Sziasztok!
PIC égetés közben ezt a hibaüzenetet kapom: Programming failed at Program Memory adress 0x000000 Eddig tökéletesen működött. Mit szúrtam el? Üdv vtnagy
Be van kapcsolva a PIC memória védelme. Nincs kiírva a program ablakban pirossal? (bár ne mtudom, hogy PICKit2-t használsz-e?) Ha nem akkor pedig meg kell vizsgálni a konfig biteket(Code Protect)
Igen, PICKit2-t használok.
Ez van az ablakomon 2 db 7 szegmenses kijelzővel szenvedek, hogy rendesen tudjam használni őket. Annyit változtattam a kapcsoláson, hogy raktam a kijelzők anódjára 1-1 tranyót (BC547B), hogy ne terheljem le a 4017es IC-met. (Dugaszolós próbapanelen játszogatok) Beolvasni engedi, de írni nem akarja.
Ez nagyon jó !
Én egy csomót szenvedtem mire a SIM300D hez összeraktam egy kisérleti panelt. Kiváncsi lennék hogy mit kérnek érte. Az biztos hogy ha készen veszed meg sok munkát spórol meg magának az ember. Ha ezt hamarabb megtalálom szerintem én is vettem volna inkább készen.
56.000FT!!!! Ebertelen ára van! Most touchos 320*200-as 65.000 színű kijelzővel ellátott child bardot lehet venni a chipcad-nél 15.000 Bruttó körül, és ugyan csak ennyiért az explorer 16-os boardot egy 24fj128ga010-el és egy dsPIC33fj256gp710 cserélhető feltéttel. Ez a 2 csak 30.000 Ft és sokkal izgisebb mint egy gsm board
Ráadásul 5000 bruttóért kapsz ethernet daughter boardot. Mellékesen nézz körül náluk is vannak gsm boardok szerelve 20-as körül vagy olcsóbban.
Nevezhetjük az árát embertelennek,vagy rohadt drágának, de ha meggondolod, hogy ez egy komplett megoldást (hw+sw) jelenthet bizonyos feladatra, akkor valamivel többet is ér, mint az alkatrészár...
A legolcsóbb megoldás pedig nyilván egy buta mobil, soros kábellel. Pláne, ha Ethernet kapcsolatra nincs szükség. Nem hiszem el, hogy egy kibelezett mobil paneljét ne lehetne beépíteni a tervbevett GSMmodul helyett.
A képen látható Config-bitek alapján a kód védelem nincs bekapcsolva, ez akkor kilőve, viszont ez nem túl jó hír, mert akkor nem tudom mi lehet.
Milyen hosszú az ICSP kábel? Van-e másra is használva a PGD, PGC, illetve ezek vonalain van e valamilyen terhelő elem(kondi, ellenállás, tranyó stb.) Próbáld úgy égetni, hogy előtte bekapcsolod a táp pipát a PK2-ben.
Volna egy kérdésem : van egy gyári Pickit2 programozóm
ráakasztok egy ÚJ 16f628 as pic et beleégetek egy másnál működő (nagyon egyszerű 2 ledes villogó) hex-et . Kiolvassa a pickit (tehát beégette) és mégsem működik ! Mitől lehet ez? A pickit -ben lehet a programot "újraégetni" és ha igen akkor hogyan?
Sokfele baja lehet, miutan a PIC egy hardverelem, ezert a kornyezete (tapfeszek, kristaly, mclr lab allapota,stb) is meghatarozza, hogy mukodni fog-e.
Ha az aramkori kialakitasa pont ugyanolyan, mint a masiknak, akkor egyszeruen csereld ki a ket picet: Ha a tied mukodik a masikban es a masik nem mukodik a tiedben, akkor hardvergond. Ha a tied nem mukodik a masikban, de a masik mukodik a tiedben, akkor valoszinuleg a fuse bitekkel lehet gond (ha a programot tenyleg helyesen visszaolvassa) - mondjuk hibas oszcillatorvalasztas vagy eppen a watchdog ki nem kapcsolasa... |
Bejelentkezés
Hirdetés |