Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Köszi szépen. Végül is egyértelmű, hogy az adott pic-re vonatkozó adatlap csak azokat az adatokat tartalmazza amik biztos megtalálhatóak benne.
Nah majd jelentkezek ha elakadtam valahol! Köszi az eddigieket is!
A privát vagy MSN-es segítségnyújtás azért nem igazán jó módszer, mert az esetlegesen értékes információk könnyedén elveszhetnek, és másokon így nem segíthetnek.
Én még azt tudom javasolni, hogy keresd meg a Microchip honlapján a "Low pin count demo board" és a "44 pin demo board" felhasználói kézikönyvét, majd töltsd le a "PICkit2 starter kit"-hez és a "PICkit2 debug express"-hez való leckecsomagokat.
Mivel a "PICkit2 starter kit" a PICkit2 programozó mellett egy "Low pin count demo board"-ot, a "PICkit2 debug express" pedig egy "44-pin demo board"-ot tartalmaz, ezért az egyik leckecsomag tulajdonképpen az egyik kártyához, a másik a másikhoz való. A "Low pin count demo board"-on egy 16F690 van, a "44 pin demo board"-on pedig egy 16F887, de mivel a kártyák kapcsolási rajza a felhasználói kézikönyvükben dokumentálva van, tulajdonképpen utánépíthető nagyon egyszerűen, akár egy próbapanelen is. Mindkét leckecsomag a legegyszerűbb "hello world"-től (LED kigyújtása) kezdve bonyolítja a dolgokat, és mindkét csomagban elég jól kommentezett ASM kódok vannak a leckékhez. Ha ezeket végigjátszod úgy, hogy meg is érted, mi miért történik, az szerintem egy nagyon jó alap a PIC-ek programozásához. Igaz, hogy ezek mind angol nyelvűek, a doksik és a forráskódok is, de szerintem ezzel is erőlködnöd kellene kicsit. Vedd elő pl. a sztaki netes szótárát (dict.sztaki.hu), vedd elő egy másik ablakban az éppen nyúzás alatt lévő PIC legújabb adatlapját (mindenképpen a Microchiptől letöltve!), vedd elő ezt a fórumot, az MPLAB-ot a beépített szimulátorával, és kezdd el a leckesort az elején. Ha valahol elakadsz, biztos lesz, aki segít, de mielőtt kérdezel, próbáld meg az adatlapban kikeresni a dolgokat, hátha rájössz magad is. Én a starter kit leckéivel kezdtem a legelső PIC-es ismerkedést, a 16F690 adatlapját még ki is nyomtattam, hogy fotelban ülve is tudjam nézegetni szabadidőmben. Igaz, nekem volt mikroprocesszoros és mikrovezérlős előéletem, de a PIC-ek sokmindenben más logikát követnek, mint amit korábban megszoktam, tehát eléggé friss volt akkor a dolog. A starter kit leckéi nekem nagyon sokat segítettek, sok az adatlapot először olvasva homályos dolog tisztázódott a végigzongorázás során. Kitartást és sok sikert!
Én nagyon szeretem a PIC-es adatlapokat, mert az adott típus adatlapjában minden le van írva az összes perifériáról, sőt, még az utasításkészlet is benne van.
Korábban, MCS51-es vezérlőknél borzasztó idegesítő volt, hogy pl. egy típusnál csak annyit írtak a timer0 és timer1 modulokról, hogy vannak, nézd meg a típuscsalád doksijában, hogy hogy működnek. A timer2 viszont a típuscsaládnál nem szerepelt, mivel nem minden típusnál van, így aztán az meg a konrét típus adatlapjában volt kifejtve. Persze az utasításkészlet meg egy harmadik doksi volt, így munka közben legalább három doksit kellett nyitva tartani és oda-vissza keresgélni, hogy melyik apróság melyikben van benne. PIC-nél az esetek 99%-ban ehhez elég a konkrét típus adatlapját nyitva tartanod. A maradék 1% pl. olyan esetekben jön elő, amikor PIC programozó áramkört és/vagy programot csinál az ember, olyankor elő kell venni az adott PIC vagy család programozási specifikációját is. Meg aztán lehet még más speciális feladat is, amihez érdemes keresni leírást vagy application note-ot a Microchipnél, de az a jó, hogy van is náluk rengeteg ilyen segédlet. Idézet: „az adott típus adatlapjában minden le van írva az összes perifériáról, sőt, még az utasításkészlet is benne van.” Ezt aranyba kéne foglalni. Sokan egyszerűen elmennek e mellett. Én gyakorlatilag az adatlapok alapján ismertem meg a PIC-eket. Más forrás az alapokhoz nem is nagyon kellett. Később a 16bites példányokat is az adatlapok alapján sikerült munkára bírni. Emberek, ADATLAP! Idézet: „Adatlapnál az adott családra vonatkozót nézzem vagy pedig a pic-ét? (16F871 adatlap vagy 16F8xx ?)” A legtutibb megoldás az, ha beírod a Google keresőjébe a pontos típusszámot: PIC16F871. Esetleg megtoldhatod azzal a szűrőfeltétellel, hogy site:microchip.com Így a mikrovezérlő honlapjára jutsz, ahol összegyűjtve megtalálod az adott típusra vonatkozó információkat: adatlap, Errata (fontos!), alkalmazási mintapéldák, Referencia Kéziköny és a többi... A korábbi kédésedre válaszolva: ha van bátorságod belevágni, akkor kezdd az ismerkedést a PIC24 mikrovezérlőkkel. Magyarul a honlapomon találsz információt. Az első négy fejezetet az MPLAB szimulátorral csináltam végig (pedig volt kéznél kísérleti áramkör!), s nagyon élvezetes volt. Ha komolyabb projetekre vágysz, akkor távolabbi célként meg lehet célozni az USB stack tanulmányozását (bár ez inkább PIC18), a TCP-IP stack használatát (pl. web szerver), vagy egy-két RTOS tanulmányozását. A PWM mintaprogramra vonatkozó tegnapi kérést kicsit naívnak tartom, hiszen a PWM csak egy technika, amelyet ezer célra lehet használni a motor vagy LED szabályozásától akár a beszédszintetizátor építéséig. Az alkalmazott trükkök és a program szerkezete nyilván alkalmazásfüggő.
Hali!
Köszi a tanácsokat. Még tegnap kicsit jobban utána olvastam a PWM-nek és világosabbá vált pár részlet. Ezt már régóta megszerettem volna kérdezni, hogy mire lehet használni a web szerver amit pic-el készítenék? Mert sokszor olvastam itt a fórumon, hogy írták, hogy most web szervert programoznak meg minden. Az USB-s fejezettel minden féle képpen szeretnék foglalkozni mert PC-ről szeretnél 3motort vezérelni USB-n keresztül. Idézet: „mire lehet használni a web szerver amit pic-el készítenék?” Leginkább arra, hogy egy szabványos felületen el lehessen érni PC-ről (távolabbról is, mint USB-vel...), s ezen keresztül lehessen kommunikálni vele - legyen szó akár információ lekérésről, akár valamilyen utasítás kiadásáról. Egyszóval: platformfüggetlen (táv)alkalmazás fejlesztésére ez is egy lehetőség.
Értem!
Akár akkor lehetne csinálni olyat is, hogy villanykapcsoló webes felületen keresztül. Köszönöm a magyarázatot!
Valaki tudna segíteni felprogramozni 18F97J60 PICET ?
Fel van forrasztva 50x50mm panelra , lábai kivezetve tüskesorra..... Nekem már sokadszori próbálkozással sem sikerült 3dbal is próbálkoztam. Már abszolút nincs ötletem..... Előre is köszönök minden segítséget!
Nincs égetőd, vagy ha van, milyen? Vagy mi a bajod vele?
Bocs, hogy kérdéssel válaszolok, de nem teljesen értem...
Már küzdöttem vele rengeteget PICKIT2-vel , fel ismeri , beogramozza , aztán mindig hiba az ellenörzéskor.( mindent 0000 ként olvas vissza).
Pár oldallal visszább is irkáltam már a problémáról, de már oda jutottam hogy nincs ötletem. Gondoltam hátha valaki aki tapasztaltabb 100 lábú PIC témában tudna segiteni ....
Próbáld meg, hogy az összes szükséges kondenzátort közvetlen a pic lábaihoz forrasztod, mert ahogy látom a képeken most még egy csatlakozón is átmennek a vezetékek mielőtt a kondikhoz érnének! Ez főleg a VDDCORE-nál fontos.
A PICkit2 progiban próbáltad már a "Tools" menüben lévő "Fast programming"-ot kikapcsolni (azt hiszem, default telepítés után be van pipálva)? Valamint ugyanitt a "Use Vpp first programming entry"-t is meg lehetne próbálni.
A másik, hogy én azt próbálnám ki, hogy egy Erase után magával a PICkit2 progival kontárkodnék bele valamit a flashtartományba, és azt próbálnám kiírni-ellenőrizni.
Topi-tól szeretném kérdezni, hogy a Nulláról a robotokig III -nak mikor lesz folytatása?
A képek magáért beszélnek, VPP nem kapcsolgatható, a masik a törlés utáni kép.
Te figyi, amit valaszoltam neked elolvastad??? (#466961)
Kérlek pontosítsunk!
Törölted a PIC-et, majd visszaolvastad a tartalmát(külön lépésben?)? Ekkor minden bit nulla lett, még a konfig bitek is, amik amúgy nem is lehetnének mind nullák? Biztos kérdeztem már, ne haragudj ha igen, más PIC-et simán tudsz programozni?
Igen, ez történik.
PIC rádug, felismerődik , tipus kiirodik , ez OK. Aztán nyomtam ERASE . kiirja OK. Visszaolvasom és minden nulla. De bármilyen más tartalmat töltök bele és olvasok vissza akkor is nullákat kapok.
Ez már kezd kissé misztikus lenni. Nekem már nem sok ötletem van. Ez szinte leheteten. Ha felismeri, akkor tud kommunikálni, hogy ezután miért nem képes kiolvasni a tartalmakat, nem értem.
Van itthon egy ilyen PIC-em, csak nyákot kéne neki maratni, hogy ki tudjam próbálni. Nem igérem gyorsan...
ENVREG-en? ott 3.3V-nak (illetve Vdd-nek) kellene lennie, nem? Ennek hatására majd a VddCORE lábon kellene 2.5V körülinek lennie.
Bocsánat , lehet kissé már kapkodok, Az ENVREG VDDre van kötve VCAP lábon mérhető 2,575 V.
18F97J60-I/PF a tipusa. Igen valóban misztikus a dolog, ha felismeri a tipust, nem értem mért nem ir bele.
Nem a beleírást kell először tesztelni, ahogy korábban watt is utalt már rá. Csatlakoztatod a PIC-et, check connection -> felismeri-e. Ezután Erase -> rendben lévőnek mondja-e. Majd minden más nélkül Read -> mit látsz a memóriatartalomban? Ha erre a lépéssorra az a kép válaszod, amit egy korábbi hozzászólásban belinkeltél, miszerint minden teli van nullákkal, akkor teljesen felesleges megpróbálni írni az eszközt, mert úgysem lesz jó.
Mérni kell, először a PIC minden lényeges lábán a feszültségszinteket, aztán esetleg szkóppal olvasás közben a PGD/PGC vonalakat. Esetleg meg lehet próbálni külső, 3.3V-os tápfeszről járatni a PIC-et, és nem a PICkit2-ből adni neki a tápot. Apropó: a PICkit2 gyári vagy utánépített? Legvégső esetben lehet írni egy ticketet a Microchip supportra.
Sziasztok!
Egy 16F873-mal jártam így - a code protect konfigurációs bitjei be voltak állítva. A konfigurációs bitelet és az idcloc tartomány lehetett olvasni, a többi mind 0 volt. Át kellele írni a code protect biteket. Ellenőrizni kellene, hogy az "erase" visszaállítja-e öket.
Doksi szerint code protected állapotban csak a bulk erase hatásos. Figyelni kellene, hogy a PICkit2 progi bulk erase-t csinál-e, amikor az erase gombra böködünk. Azt tapasztaltam már ugyanis, hogy amikor a tápfeszt kicsinek érzékeli a bulk erase-hez (pl. olyan, 5V-os PIC-ek esetén, amikor Vdd=4.5-5.5V közötti tartományban lehet csak bulk erase-t kezdeményezni), akkor visszavált "row erase"-re. Bár a kérdéses PIC progspec-ében nem látok bulk erase-re vonatkozó külön kikötést a Vdd-re, csupán annyit, hogy ENVREG=Vdd esetén 2.65-3.6V közötti Vdd kell neki, 10mA áramfelvétel mellett.
Egyébként meg nem tudom, hogy mitől lennének a PIC-ek code protected-ek, ha soha nem is voltak akarattal így programozva. Gyárilag biztos nem code protected állapotban szállítják őket.
Nézd meg a képen, az összes konfig bit nulla! Én még ilyet nem láttam! Valami kommunikációs probléma lehet, mert ha jól sejtem van olyan bit, ami nem is írható nullába!
Törlés után a Blank Check-re mit szól? Addig törölgesd, amíg nem mondja, hogy jó!
Jut eszembe, a táp miért 3,1-re van állítva? Próbáltad 3,6V-on? |
Bejelentkezés
Hirdetés |