Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   799 / 1216
(#) Zsora válasza Lamprologus hozzászólására (») Máj 22, 2016 /
 
Cross51 már leírta nagy vonalakban a működését, viszont én hozzátenném hogy:
- mindkét irányú változásnál (1->0, 0->1) keletkezik megszakításkérelem
- nem elég törölni a megszakításjelző bitet, a portot is ki kell olvasni, mert anélkül újra megszakításkérelem keletkezik (a láb eltárolt és aktuális értéke közötti különbség miatt)
- inicializáláskor is ajánlott kiolvasni a portot, azzal rögzítjük ugyanis a nyugalmi állapotot (0 vagy 1)
A mechanizmus az adatlap 12-7 ábráján látható. A flip-flop-ok órajelének feliratozását persze lehagyták; a felsőt az utasítás órajel vezéreli, az alsót (állapot tárolót) pedig a port olvasás impulzus.
(#) Zsora válasza Zsora hozzászólására (») Máj 22, 2016 /
 
Jav.: Az ábra nem az adatlapban található, hanem a PIC24F Family Reference Manual 12. fejezetében. (I/O Ports with Peripheral Pin Select)

CN.png
    
(#) cross51 válasza Zsora hozzászólására (») Máj 22, 2016 /
 
Jó, hogy írtad a második pontot, már egyszer szívtam vele, hogy hiába töröltem az IF-et ugyanúgy ugrott az ISR-be, és most nem ugrott be rémlett valami, de nem akartam hülyeséget írni.
(#) sraczkovi hozzászólása Máj 22, 2016 /
 
Sziasztok!
PICKit 3 programozom van. MPLAB 2.26 verzióm volt,de régen nem használtam.Most,hogy ismét elővettem sajnos kiirta a program hibaüzenetbe,hogy firmware verzió régi.Javaslat töltsem fel az új verziót.megtettem(3.30 a verzió) hiába próbáltam az interneten fellelhető leírások szerint a firmware-t frissiteni a hibaüzenet ugyan az. van valami,amit még be kell jelölni,vagy tölteni? Sajnos így elakadtam.Csak egy egyszerű programot szerettem volna beégetni egy PIC12F629 prociba. Ki tudna segíteni
(#) nedudgi válasza sraczkovi hozzászólására (») Máj 23, 2016 /
 
Régi firmware? Nem egy másik család volt utoljára programozva vele, és másikat akar letölteni? MPLab, vagy MPLabX verzióról van szó?
(#) Zsora válasza nedudgi hozzászólására (») Máj 23, 2016 /
 
A 2.26 és 3.30 verzió az tutira MPLAB X.
Az MPLAB X egyébként automatikusan letölti és update-eli a PicKIT 3 firmware-ét, ha csatlakozik a gép az Internethez.
A hozzászólás módosítva: Máj 23, 2016
(#) nedudgi válasza Zsora hozzászólására (») Máj 23, 2016 /
 
Engedélykérés nélkül felülírja a förmvert? Én még arról sem vagyok meggyőződve, hogy hibaüzenetről van szó.
(#) sraczkovi válasza Zsora hozzászólására (») Máj 23, 2016 /
 
Köszi az infot,de valami még sem úgy van ahogyan leírod.A jobb alján a 3.30 verzión kaptam hibaüzenetet amin egy elérési út vonal van, amit nem részletezek mert hosszú.Első hiba üzenet a jav. val kapcsolatos. És még kettő.nedudgi válaszában is van valami igazság,mert a régi verziót nem töröltem,hanem feltöltöttem az újat (3.30).t. Uninstaláltam a régi verziót(3.26).t. Ennek az uninstalásánál is hibaüzenetet kaptam.Az aplicatio fájlban az uninstalálás után is találtam két élő fájlt ami a (3.26) és a(3.30) ra vonatkozik.Annyira nem vagyok otthon a PC világában,de bosszant,hogy ennyire elbonyolítják a programjaiakt a tisztelt nagy cégek.Értem,hogy kell a védelem,de néha túl sok.Mivel nem gyakran töltök programokat bosszant,hogy mindjárt szoftveres problémákkal kell először küzdeni.Pedig csak egyszerüen egy "szabad" progit akartam feltölteni. Egyébként köszi a segítséget bírkozom tovább.
(#) Zsora válasza sraczkovi hozzászólására (») Máj 23, 2016 /
 
Tudnál esetleg felrakni ide képeket a rendszer/hiba-üzenetekről? Így látatlanban nehéz bármit is mondani.
(#) sraczkovi válasza Zsora hozzászólására (») Máj 23, 2016 /
 
Szia !
Sajnos első mérgemben töröltem a programokat. Este újból megpróbálom feltelepíteni a programot és egy kísérletet teszek az újbóli programozásra.Köszi
(#) Zsora válasza sraczkovi hozzászólására (») Máj 23, 2016 /
 
Az MPLAB ablakának jobb alsó részén általában különféle hasznos üzenetek szoktak megjelenni, pl. az elérhető/letölthető új verziók: (Notifications)

nedudgi: Ha úgy van beállítva, akkor az MPLAB kérdés nélkül letölti és update-eli a firmware-t. Természetesen eközben folyamatosan tájékoztat az eseményekről: (Firmware)
A hozzászólás módosítva: Máj 23, 2016
(#) pajti2 válasza sonajkniz hozzászólására (») Máj 23, 2016 /
 
Átfutottam a pic12(l)f1840 adatlapot, és nem találtam arra utalást, hogy hideg resetnél bármilyen folyamat spec adatokat hagyna adott ram bankokban. Ami ott van, azt előzőleg valami beleírta. Az egyik lehetséges magyarázat, hogy ami fejlesztői környezetet használsz, az a főprogram behívása előtt már beinitelt saját libeket, és az abból hátramaradt memória szemetet találod ott. Bármilyen fordítót is használsz, van asm kimenete is a programról, amit fordít? Egy sima void main(void) { while(1); } programnak milyen kimenetet gyárt?
(#) nedudgi válasza pajti2 hozzászólására (») Máj 23, 2016 /
 
A PCON regisztert mazsolázva meg lehet állapítani a reset okát. 65. oldal a 40001441F.pdf dokumentációban.
Kicsit körülményes, mert az inicializálás után be kell állítani pár bitet.
(#) ktamas66 válasza pajti2 hozzászólására (») Máj 23, 2016 /
 
De gondolom arra sem, hogy a teljes GPR területnek nullának kötelező lennie. Még az SFR regiszterek között is nem egy van ami ismeretlen értékkel állhat föl. Nem véletlen CLRF PORTx az inicializálás és külön érdekes az INTCON regiszter IOCIF bitje is. Nekem is kellett már kis programot használni, ami "kajakra kinullázta" az összes regisztert .
(#) sonajkniz válasza pajti2 hozzászólására (») Máj 23, 2016 /
 
A kérdésedre nem tudok válaszolni, mert nem tudom azt se, mit takar. Kizárólag asm-ben programozok, azt pedig szemlátomást úgy fordítja, ahogy beírtam.
Egyébként nem csak ezzel az egy PIC-el jártam így.
PIC18F26K22-es.
A program egy adott rutinja 1-be állít egy memóriabitet, hogy a megszakításban ne fusson le egy rész. majd amikor a rutin végzett, törli. 5 esetből 3-szor nem működött a programom egy része, mert ez a bit már a bekapcsoláskor 1-ben állt. Az adott rutinba pedig csak 3 gomb egyidejű lenyomására ment be a program. Tehát véletlenszerűen nem léphetett be oda.

Jut eszembe, nem lehet, hogy a magasabb szintű programnyelvek fordítói beraknak a programba egy indításkori memóriatörlést, és ezért nem találkozhattál még ilyen hibával?
A hozzászólás módosítva: Máj 23, 2016
(#) pajti2 válasza sonajkniz hozzászólására (») Máj 23, 2016 /
 
A C-nél magasabb szintű (már akár a c++ is) fordítók lehet, hogy beraknak olyasmit, de én nem szoktam C fölé menni. Igaz ami igaz, asm-re sem megyek már le, de ha éppen a körmére kellene néznem a fordítónak valamiért, nagyon könnyen tudnám megtenni (ott az asm list file kimenet).

Sokkal inkább arról lehet szó, hogy azokkal a kicsi pic-ekkel nem vagyok napi barátságban. De amúgy is, nálam sosem téved el a program, rendesen adom a tápfeszt, nem brown outol, nem "halmozom az élvezeteket" szóval nincs verem alul- / felülcsordulási probléma sem, és bár igaz, hogy reset számolgatásokkal sosem kellett foglalkoznom az előbbi okok miatt, meg mert egyébként sem kívánta meg semmiféle alkalmazástechnika, én nem figyeltem fel rá, hogy cold starton szemét lenne a memóriában.

Esetleg ha vannak hozzá szerelési anyagaid kéznél, hogy rárakj egy soros portot a pic kimenetére, viszonylag könnyű írni egy ciklust, ami hideg starton csak kiküldi soros portra a teljes általános célú memória állományt. Talán érdekes tapasztalat lesz, ha jellemzően csak egy kicsike területen fordulnak elő random bitek, vagy talán valami mintát is sikerül felfedezni benne.
(#) Pali79 válasza pajti2 hozzászólására (») Máj 23, 2016 /
 
Nem csak neked, sonajkniz kollégának is: Az említett PIC esetében az adatlap 24. oldalától a 3. táblázatban látható egy olyan oszlop aminek a neve: "Value on POR, BOR" Ebben látható, hogy azok a regiszterek amik értéket tárolnak (nem biztos, hogy ez a legjobb megfogalmazás) pl. timer és ADC regiszterek, a POR, BOR után XXXXXXXX az értéke. Ez azt jelenti, hogy gyakorlatilag bármilyen értéke lehet. Tehát vagy törlöd vagy feltöltöd a kívánt értékre és ez igaz a többi memóriaterületre is.
A hozzászólás módosítva: Máj 23, 2016
(#) sraczkovi válasza Zsora hozzászólására (») Máj 23, 2016 /
 
Szia!
Az MPLAB 3.30 verziót ismét telepítettem a helyzet ugyan az. A mellékletben küldöm a képernyőről készült másolatokat. Próbáltam másik gépen a telepítést.Ott is ugyan az a hibaüzenet. Ezek után én a PICKiT3 hibára gyanakszom. Kár mert így kénytelen vagyok a régi programozót elővenni és azzal feltölteni a progit. Csak az már elég öreg és eléggé kontakt hibás. kb. 10 éves .Köszi az eddigi segítséget.
(#) sonajkniz válasza pajti2 hozzászólására (») Máj 23, 2016 /
 
Idézet:
„azokkal a kicsi pic-ekkel nem vagyok napi barátságban”

Pedig igen hasznosak tudnak lenni.
Én ipari környezetben fejlesztgetek, és számtalanszor meggyült a bajom a zavarokkal. Ezért a különösen zavargazdag részeket, (analóg jel, encoder) ezzel a kis 12-essel szoktam lekezelni, és max. 1 byteos csomagban optikai leválasztással küldöm tovább az adatot. Egyrészt ez a PIC valahogy kevésbé érzékeny a zavarokra, másrészt a rövid célfeladat miatt jól belőhető a watchdog.
(#) eSDi válasza sraczkovi hozzászólására (») Máj 23, 2016 /
 
Üdv!

Próbálj meg kiválasztani mondjuk egy 18F-es típust, ekkor mindenképpen cserélne FW-t az MPLAB. Hátha akkor nem reklamál.
(#) eSDi válasza sraczkovi hozzászólására (») Máj 23, 2016 /
 
Vagy az IPE-ben.
Settings->Advanced Mode->Login, majd Manual Download Firmware.
(#) nedudgi válasza sraczkovi hozzászólására (») Máj 23, 2016 /
 
A hiba összetett. Egyrészt az áramkör, amiben programozni szeretnéd, nagyobb teljesítményt igényel, mint amit a PITkit tud adni. Ez lehet akár zárlat is.
Ahhoz, hogy miként kell a PICkitben levő programot frissíteni, nem tudok hozzászólni, az MPLabX már nincs a gépemen.
(#) cross51 hozzászólása Máj 24, 2016 /
 
Sziasztok!

Rég foglalkoztam már 8 bitesekkel, de most egy fejlesztés miatt vissza kanyarodtam. Körbenéztem a Microchip honlapján és találtam egy ilyen PIC-et amiben a nagy meglepetés volt hogy PIC16-os és 4096 byte a RAM benne. Nektek mi a véleményetek erről "nem minden arany ami fénylik"?
A hozzászólás módosítva: Máj 24, 2016
(#) pajti2 válasza cross51 hozzászólására (») Máj 24, 2016 /
 
Mi a baj az extreme low power előnyeivel? Nyilván nem pc alaplapot építeni készült az a mag, de ahol az akku élettartam az alfa és az omega, és elégségesek azok az elektronikai supportok, amiket felkínál az a pic, oda nagyon is jól jön.
(#) pajti2 válasza sonajkniz hozzászólására (») Máj 24, 2016 /
 
Azok a "zavarok" semmi egyéb, mint tápfesz ingadozás, és az analóg ipari gépek (múlt évezred beli roncstelep szökevények) környezetében fordul elő, ahol megspórolták a normális 3 fázisú leválasztó trafót. Amúgy a skill annyi, hogy bekötsz egy bármilyen kicsi teljesítményű ups-t, és onnét húzod ki a tápfeszt, amire rákötöd a cuccokat. Misztikus zavarok volt-nincs.
(#) cross51 válasza pajti2 hozzászólására (») Máj 24, 2016 /
 
Jó lehet a kis frappáns mondás elé egy vessző kellet volna, de nem akartam feltételezni hogy bármi hiba is van a PIC-el csak kíváncsi lettem, hogy van e bármi hátulütője. Mondjuk néztem még errata sincs még a végén kiderül, hogy ez se megy kvarcról mint a 32MZ-k.
(#) Hp41C válasza cross51 hozzászólására (») Máj 24, 2016 /
 
Idézet:
„Mondjuk néztem még errata sincs még...”

Idézet a Microchip Direct weblapról:
Idézet:
„Estimated Ship Date: 26-Aug-2016”

Még nem is lehet kapni, nem volt még elvetemült fejlesztő, aki jobban megvizsgálta volna.
64 memórialap: Gyanítom az XC8 -at is módosítani kell majd....
(#) kriszrap hozzászólása Máj 24, 2016 /
 
Sziasztok)
Ha a baloldali ábrát nézük ha mind 3 led világit akkor fényerő csökken ugye???
ábra
vagy 3 lednél nem anynira észrevehető???
(#) usane válasza kriszrap hozzászólására (») Máj 24, 2016 /
 
Attól függ mivel hajtod meg. Hozzászólások alapján ha csak a PIC kimenetéről akkor már kettőnél is lesz csökkenés csak kevésbé észrevető. A PIC egy kimenetének garantált áramtűrése 20mA körül van, ami egy LED normál árama. Vagy multiplexeled, vagy tranzisztorral hajtod, de multiplex esetén is szokott fényerő csökkenés fellépni (bár lehet, hogy ennyi LED-nél még nincs) ezért sokszor nagyobb árammal hajtják meg mint a normális vagyis megint oda jutunk, hogy a PIC kimenete nem bírja el, tehát tranzistor, még inkább FET.
A hozzászólás módosítva: Máj 24, 2016
(#) cross51 hozzászólása Máj 24, 2016 /
 
Sziasztok!

Valakinek van nRF24L01-re működőképes programja mert összeszedtem arduinos és pic-es forrásokat és azokból írtam 3x rx tx programot de egyik se működik és kicsit meguntam. Inkább olyan típusú forrása lenne szükségem (ha persze van valakinek) ami nem a szépségre hajaz hanem az érthetőségre.

Köszönöm!
Következő: »»   799 / 1216
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