Fórum témák
» Több friss téma |
PIC 24 -nél három alternatív csatlakozási lehetőség is van a programozáshoz (PGEDx, PGECy). Ezek teljesen egyenrangúak, mégis a konfig szóban állítani lehet melyik páros szerint használjuk a processzort.
FICD regiszter ICS<1:0> Idézet: . „ ICD Communication Channel Select bits 11 = Communicate on PGEC1 and PGED1 10 = Communicate on PGEC2 and PGED2 01 = Communicate on PGEC3 and PGED3 00 = Reserved, do not use ” Hogyan van az, hogy valamely csatornán elkezdem programozni, majd eközben megmondom az eszköznek a konfog szóban hogy melyik csatornán fogom programozni. Ez így nem teljesen világos, hiszen ha már megy a programozás és automatikusan felismerte a port párost, akkor mi szükség erre a beállításra?
Sziasztok!
Olyan kérdéssel fordulnék hozzátok, hogy egy ideje programozok PICeket, de csak assembly. Most szeretnék váltani C-re. A problémám az, hogy a feltelepített XC8 fordító csak egy bizonyos számú kódot engedélyez. A fizetős verziója enged akármennyit. Létezik valami ingyenes változat amivel korlátlan számú utasítás írható be?
Én úgy tudom, hogy programozni bármikor bármelyik párosokon lehet, csak a debug-hoz kell kiválasztani hogy melyiket akarod használni.
Lehet rosszul fogalmaztam: Mplab x Ide 3.05 használok. Eddig mpasm compiler használtam assemblyre. Az a bajom, hogyha XC8 compilerre futtatom, ahol lehet c nyelvet használni ott, ha túl nagy a program, akkor nem engedi feltölteni a PIC-re. Valami olyan megoldást keresek ami ezt kiküszöböli, mivel a compiler ára 900 euró, hogy bármekkora programot fel lehessen tölteni a PIC-re.
Köszönöm, én nem néztem Errata-t, jó, hogy eszembe juttattad
Amit írnak még meg kell emésztenem Az Errata szerint bizonyos esetekben elhasznál egy plusz osc ciklust. Eszerint késnie kellene. De megnézem még. Mindenesetre a pont nálad Érdekes viszont, hogy most 12pF, új kvarc: eddig pontos
Igen, én is így tudtam. Most viszont nem értem miért, de sem egy PIC24 sem egy dsPIC33 nem programozható PK2 vel. ( 28 lábú, DIP tokos, láb kompatibilis, könnyen cserélem). Ez volna az első projekt ebben a kategóriában és sajnos itt akadtam el.
Idézet: „PIC 24 -nél három alternatív csatlakozási lehetőség is van a programozáshoz (PGEDx, PGECy). Ezek teljesen egyenrangúak, mégis a konfig szóban állítani lehet melyik páros szerint használjuk a processzort.” Mindhármon lehet programozni, de csak a kijelöltön lehet nyomkövetni. Idézet: „...nem programozható PK2 vel.” Pontosabban? Fel sem ismeri? Mi a hibaüzenet? dibuquqo: Én apromax-nak válaszoltam, én nem használtam soha XC8 -at, de XC16-nál nem tudok ilyen korlátozásról (kódméret), csak az optimalizációt illetően.
érdekes nincs hibaüzenet, illetve csak ennyi: FAILE. Olyan mintha fel sem lenne dugva a PK2. Olvasni sem tud.
A Core 2,5V megvan mindkét esetben. A PK2 jó, mert PIC18 al lepróbáltam. Az IC -k teljesen újak. A tápot mindenhol rendben megkapják. Remélem az adatlap jó.
Sziasztok
MPLAB x 3.15 Kapott C fájl fordításakor hiányolja a conio.h-t Ezt honnal lehetne előkeríteni?
Sziasztok!
Tudna valaki segíteni abban hogy a "Kónya" féle PIC mikrovezérlők alkalmazástechnikája című könyv első kiadásához honnan lehetne hozzájutni. Üdv.
Egy kis google keresessel konnyen meg lehet kapni: Bővebben: Link
PIC24HJ128GP202
dsPIC33FJ128GP802 A PK2 felismeri hogy a target -en ott a táp, aztán bármely funkció indításakor kigyullad a PK2 Busy piros LED -je, majd leidőzítés után (hibakód nélküli) hibajelzéssel megáll a program.
Karácsonyi ajándékként megtaláltam a megoldást.
Nem szabad kiválasztani manuálisan a PIC típusát. Ha auto módban használom akkor nemcsak felismeri, hanem írja / olvassa is! Nekem ez furcsa működés, tekintve PIC16 - 18 nál eddig nem volt ilyen tapasztalatom. Onnan sejtettem hogy merre fele kell keresni a hibát, hogy a PK2 programja másként viselkedett mikor nem volt a PK2 modul csatlakoztatva sehova. Manuálisan (akár találomra) kiválasztottam egy PIC18 at, majd később egy PIC24 et. s nyomtam mindegyikre egy Write utasítást. A PIC18 -nál a programban az ablak alatt megjelenő Staus Bar lefutott, majd csak ez követően jelzett hibát, Ha viszont PIC24 vagy dsPIC33 -at állítottam be azonnal FAILED lett az eredmény, nem szaladt végig a Staus Bar sem mint előbb. Van erről tapasztalatotok, vagy helyből az auto felismertetéssel használjátok PK2 -t? Boldog, Békés Karácsonyt Mindenkinek!
A PICKit2 a 16 és 32 bites kontrollerek programozásához beéget / letölt (32 bitesnél a RAM -be) egy un. Programming Executive -t, leellenőrni, elindítja, lekéri a kódját (application ID) és a verzióját. Ha ezek egyeznek, a programming executive segítségével elvégzi a kiolvasást vagy a programozást. Ha nincs meg a kapcsolat a kontrollerrel, a programming executive ellenőrzése már hibára fut.
A programming executive használatát az ini állományben a PE24: N illetve PE33: N sorokkal ki lehet kapcsolni. Boldog, Békés Karácsonyt Mindenkinek! A hozzászólás módosítva: Dec 24, 2015
Sziasztok
Ismét a külső 32kHz-ról járatott Timer1 problémámmal jelentkezem. Külső kvarc adatlap szerint bekötve. Nincs előosztó, Timer 1 ebből 2mp-enként interruptot generál. Interruptban csak változót inkrementálok. A főprogram semmit nem csinál, csak ezt a változót olvassa és óra-perc-másodpercet alakít belőle. Processzor (12F629) a belső 4 MHz-ról jár. (INTOSC with IO: b'100') T1CON: b'00001111' Az óra siet, akármit csinálok. Egy kicsit kísérleteztem. Másik 12F629-cel ugyancsak siet az óra, főleg a 80 pF körüli kondenzátorokkal, ezzel 5-6 mp-et percenként. Soros csillapító ellenállás nem használ. Külső 74HC14-es oszcillátorral hajszál pontos. Ugyanez a tesztprogram, 16F628A-val ugyanebben a konfigurációban, 15 pF kondenzátorral szintén pontos. Szóval úgy tűnik, csak a 12F629 sorozat nem azt teszi, amit kellene, ill. mintha az órajelhez keveredne plusz ciklus (zavar?). Csak akkor a 628A-val miért megy jól? Google nekem erről semmit nem hozott. Van még valakinek tippje? A hozzászólás módosítva: Dec 27, 2015
Szia!
Nem ismerem az adott PIC-et így csak tippelni tudok, de hátha segít. Megfelelően stabil a táp? Az adatlap nem ír valamit a pontos órához kellő procfeszültségről? Szükséges a program szempontjából a 4 MHz? Ez utóbbit azért kérdezem, mert én mindíg úgy oldom ezt meg, hogy amíg nincs más dolga a procinak, csak a kijelzés, akkor a lehető leg alacsonyabbra veszem a frekit, ha pedig a beállított idő elérkezéséig még kijelzés sem kell, akkor aludni küldöm. Ijenkor csak a TIMER 1-es megy, és mikor megszakít, felébreszti a procit, elvégzi a műveleteket, amit kell, és megy aludni. Ez leginkább telepes táplálásnál fontos.
Szia
Köszönöm a választ A táp 5 Voltos stabil labortáp, ez minden PIC-nek "hazai pálya" kell legyen. A SW eredeti feladata ugyanaz, mint amit írtál napi 20 órát alszik, ezalatt csak TIMER1-re ébred fel. De most csak tesztprogram fut rajta, mert egyszerűen nem értem, hogyan lehet ugyanaz a kvarc az egyik PIC-en pontos, a másikon meg siet. Még ha késne, azt mondanám SW-hiba, de sietni csak úgy tud, ha egy időegység alatt több órajel megy bele. És az is változó, mennyit siet. Ráadásnak még elemről táplálva is produkálta, ott meg nem lehet földhurok vagy tápon jövő zavar. A 16f628 A meg hajszál pontos. De valószínű más a külső oscillátorhoz tartozó belső áramkör. De hogy ez miért csak nálam lép fel, nem tudom. Pedig 3 db alkatrészről plusz az IC-ről van szó. Ezt el sem lehet rontani.
Több ugyanilyen PIC-el is lepróbáltad már?
Lehet a PIC a hibás. Például be van ragadva a timer egyik számláló bitje. Ezért nem számol el 65536-ig, csak mondjuk 65023-ig. Próbáld meg, hogy kiszámolod, az adott sietés milyen elszámolási érték mellett jöhet létre, és ellenőrzésképp a megszakítás során kapcsold be a megfelelő bitet, hogy direkt váltsd ki ezt a sietést. Ha nem változik semmi, akkor az a bit be van ragadva. ha mégtöbbet siet, akkor oszcillátor probléma.
Szia
Igen, több IC, több kvarc, több kondenzátor, különböző kondenzátor érték. 10-12 pF körül elég pontos lesz, (az alkalmazásomhoz is elég) de az már brutálisan kevés. Meg akkor sem értem. Az adatlap szerint 68-100 pF kellene. IC mellett 100 nF a tápon. Most éppen beraktam 2x100 pf-et, erre 1 perc alatt 5 mp-vel lett gyorsabb. És ez ráadásnak egy tipikus felhasználása a Timer1-nek. Tulajdonképpen annak is örülnék, ha valaki megírná hogy nála a 12f629-en ez így jól működik, mert akkor legalább tudnám, hogy nálam van valami.
Igazából, a több IC-s próba sem garancia.
Én jártam úgy, hogy egy programom egy adott ponton leakadt. Sikerült behatárolnom, hol akad el, de ott nem volt semmi hiba. Több egyszerre vásárolt PIC-en lepróbáltam, de semmi. Végül a kérdéses ponton lévő RAM-ot átcímeztem egy másikra. Rögtön elindult. Ezután egy régebbi áramkörömből kivett PIC-el lepróbálva az eredeti verziót, működött. Kiderült, mind az 5 PIC-ben az az 1 byte hibás volt.
Dugdosós panelon én is jártam már így pont az órakvarccal. Nekem is állandóan sietett, aztán kiderítettem, hogy ha lekapcsolom a hétszegmens kijelző meghajtását rendbe jön (ha csak a kijelzőt húztam ki az is elég volt a sietés megszünéséhez, tehát nem a programban volt a hiba). Valószínűleg a kimeneti lábakon levő áramváltozások zavarták az órakvarcot, pedig már minden létező helyet telipakoltam szűrőkondikkal (sajnos nem derült ki azóta sem, mi történne ha rendes nyákon lett volna az áramkör, mert nem lett normálisan megépítve).
Sziasztok!
Most szeretnék elkezdeni PICelni... Olyan kérdésem lenne hogy milyen próba illetve fejlesztőpanelt érdemes venni egy kezdőnek vagy esetleg megépíteni? Ez itt jó lehet egy kezdőnek? És milyen PIC-el érdemes kezdeni? Köszi Sten
Én egyszerű, dugdosós próbapanelt vennék, azon nincsenek felesleges alkatrészek.
Szia
Nekem is dugdosós panelen csinálja, de nincs nagy fogyasztó rajta, viszont van mindenféle kapcsolóüzemű táp a környéken. Az eredeti áramkör raszternyákon elkészült (lévén karácsonyi ablakdísz, nem nagyon várhatott), de ott is gyanús volt. A 16f628a viszont nem csinálja, valószínű annak korrektebb az órajelgenerátora.
Én 16F1783-al és 18F26K22-vel próbáltam (lábkompatibilisek egymással). Mindkettővel ugyanúgy csinálta. Szkóppal rámérve az órakvarcra, mint ha látszott is volna valami megingás abban a pillanatban amikor váltott a multiplexelt hétszegmens kimeneti láb (a katódok 330 Ohm-al direkt a PIC lábakról mentek, a 4 vagy 6 közös anód pedig tranzisztorral voltak kapcsolva). Talán a táplábon is mintha megingott volna a feszültség a váltáskor, hiába kondiztam agyon (a panel táp bemenetén még semmi megingás nem volt). Ekkor arra jutottam, hogy a dugdosós panel a nagy átmeneti ellenállása miatt erre nem használható.
|
Bejelentkezés
Hirdetés |