Fórum témák
» Több friss téma |
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.
Jav.: Az ábra nem az adatlapban található, hanem a PIC24F Family Reference Manual 12. fejezetében. (I/O Ports with Peripheral Pin Select)
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.
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
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ó?
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
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ó.
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.
Tudnál esetleg felrakni ide képeket a rendszer/hiba-üzenetekről? Így látatlanban nehéz bármit is mondani.
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
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
Á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?
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.
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
![]()
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
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.
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
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. 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.
Ü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.
Vagy az IPE-ben.
Settings->Advanced Mode->Login, majd Manual Download Firmware.
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.
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
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.
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.
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.
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....
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ő???
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
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! |
Bejelentkezés
Hirdetés |