Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Na ja, en egyszer a PicKit2 serial kommunikacios ablakaval jatszadoztam - ha jol emlekszem bitbillegtetos serial kommunikacit irtam - es vigan vacakolok, de mikor frissiteni szerettem volna a firmware-t a PicKit kozolte nincs Vdd (kivulrol kellett volna kapnia). Akkor nezem, hogy lekapcsoltam az aramkort, na de akkor meg hogy kommunikalgattam a cuccommal? Szilva mutatott ra, hogy a clamp diodakon keresztul kapja a tapfeszt... gondolom nalad meg epp forditva, a diodan keresztul foldelodik le a pic, hat ilyen is van
Kedves trudnai és neomur!
Nemrég ítam, hogy a BANKSEL két programsort szúr be a programba akkor is, ha valójában nem vált bankot(mert abban van amiben kell)! A legtöbb esetben csak az 1-es bankban vannak a fontos regisztereink, ezért pocsékolás két programsort erre szánni. Még feleslegesebb ezt akkor tenni, ha nem kell bankot váltani! Ezért felelőtlenség ilyen módszerre bíztatni bárkit! (egy aktív sorra két passzív sort elpazarolni a szűkös memóriából igen felelőtlen megoldás.) A jó módszer az, hogy a fordítás után a warningokat megnézve ellenőrizni kell, hogy minden figyelmeztetéshez tartozó regiszter előtt kiválasztottuk e a megfelelő bankot! Ugyanis a warning akkor is ott van, ha kiválasztottuk és akkor is ha nem!!! Az csak arra figyelmeztet, hogy olyan regisztert használunk, ami nem a 0. bankban van. Semmi többre! (tehát nem arra, hogy valamit elrontottunk, vagy nem!)
Kedves watt,
Koszonom az eszrevetelt. Azt hiszem ket kulonbozo dologrol beszelunk, marmint a BANKSEL ket kulonbozo aspektusarol. En a forras program portabilitasarol mig Te a program kod hatekonysagarol. A portabilitasnal fontos, hogy ne essunk abba a tevhitbe, hogy a BANKSEL "ket utasitast szur be", mert ez igaz lehet X es Y tipusokon, mig masokon ez lehet 1 is. Pl. 12F629-ben 1 mig 16F628-ban 2, 18F-ekben megint csak 1 utasitas (movlb). Masik elonye a bankselnek, hogy nem a bank szamat, hanem a valtozo nevet adjuk meg, igy ha a valtozonk atcsuszik egy masik bankra akkor sem tortenik panik - "eddig mukodott es most meg mar nem" tipusu kerdesfelvetesekre gondolok itt... Abban maximalisan egyet ertek, hogy a BANKSEL nem optimalizal, nem tudja mi volt ez elozo beallitas, igy a biztonsag kedveert mindket bitet billegteti ha 2 bites a bank kivalasztas. De ha sajat modszert is valasztasz akkor is erdemesebbnek tartom lemakrozni, es akkor kesobb konyyu modositani a programot egyetlen helyen minthogy az osszes elofordulasi pontot vegig bogaraszva esetleg hibat kovessunk el. Udv, Tamas
Igen, ezzel a kiegészítéssel még kerekebb lett a dolog, és így én is teljesen egyetértek a kialakult képpel!
Köszönöm, hogy ilyen profi módon érvekkel tudtál válaszolni, minden elismerésem!
és már bele is hülyültem, akarom mondani icprog égető progi.
Már bocsi, mi a kérdés? (ma hülye napom van! :rinya:
Tehát ha törlöm a PIC tartalmát (16f628a) akkor üres. (3FFF látható ugye mert 14bitnyi "1" az ennyi)
Ha törlés után kiolvasom a tartalmat mégsem ezt látom! A törlés az törli a kód és az adatvédelmet is, tehát ez nem lehet gond. Akkor mi???
Természetesen XP alatt, telepítve a sys, API-ra állítva.
Mindent úgy csináltam ahogy a nagykönyben írva vagyon. Próbáltam az időzitéssel is játszani de nem nyert. Méregettem is: Vcc:5.06 MCLR:13,2 Égetés közben.
Cseréld le benne az égetőt oshon-ra.
Fél éve alakítottam át egyet, mert nem működött. Sajnos nem volt túl egyszerű az átalakítás, mert elég sok mindent meg kellett változtatni a panelen és egy félig SMD nyákot illesztettem be a JDM helyére. Valószínűleg nem tudnám elmagyarázni, mert már nem emlékszem minden részletére. A lényeg, hogy azóta egy jól használható panel lett, amit előtte nem volt jó semmire. Ha a JDM hibáiról akarsz olvasni, használd a keresőt, mert elég sokat írtunk itt már róla!
Hmm.
Azért vettem meg mert Programozásból kezdő vagyok. Legszívesebben építettem volna egyet hogy a kezdeti próbálkozások sikertelensége ne egy általam elrontott hardver legyen. Ugylátszik rosszul döntöttem. De ha bizonytalanul működik akkor miért árulja úgy az ember hogy ez tuti jó és a kezdők kánaánja? Na bosszankodásból elég. Utánanézek az oshon-nak. Köszi a válaszokat!
Üdv mindenkinek!
Full kezdő vagyok, és segítségre szorulok. A 12F675 nek a GP3 lába csak kimenet lehet - ezt nem olvastame el elsőköben. A helyzet az, hogy nekem kéne egy külső interrupt, és 5 kimenet. A probléma az, hogy alapállapotban a GP2 a külső interrupt. A programmal nem is volna baj minden működik, csak az a fránya GP3 nem kimenet. Segítsetek, hogyan lehet a külső élvezérelt interruptot áttenni a GP2-ről a GP3-ra, hogy nyerjek egy kimenet lábat? Mindenképpen csak élvezérelt megszakítás jó,hogy le vagy felfutó élre indul az mindegy, mind a kettő megoldható. Ami még hab a tortán, hogy mindez CCS-ben készül. Idézet: „ha bizonytalanul működik akkor miért árulja úgy az ember hogy ez tuti jó és a kezdők kánaánja?” Mert ő kereskedő. Sok minden máshoz nem nagyon ért szegény. És hát ugye a kereskedőnek az a dóga, hogy a"saját" termékeit minél szélesebb körben árulja/rátukmálhassa az emberekre. Hát ezért árulja így.
sziasztok,
az urbán PIC-égetőjében én sem hittem annó, ezért nem is náluk vettem, viszont annyiból hadd védjem meg, hogy, mikor elmentem hozzájuk,és pont PIC-t kértem vna (nem volt kedvem utazgatni még), lebeszélt róla, hogy nála vegyem, szóval rátukmálásról szó sem volt. égetőnek sk építésűt vagy gyári, microchipes égetőt ajánlok. ha szerencséd van, akciós csipkedéknél. (anno a 44pines demo board-os kit olcsóbb vt, mint maga az égető)
A GPIO lábak állapotának megváltozásához is tudsz interruptot kötni (interrupt on change). Az IOC regiszterben kell a megfelelő bitekkel kijelölni, hogy melyik lábak megváltozásakor generáljon nterruptot.
Persze az lekezelő rutinban Neked kell majd eldönteni, hogy a változás, ami éppen oda térítette a vezérlést, az a felfutó vagy lefutó él volt-e, kell-e csinálni bármit is.
Boc ha értetlenkedek, de tényleg kezdő vagyok...
Ha beállítok egy interruptot az IO change-re az csak az input lábakat figyeli, vagy az outputot is?
Adatlap 3.2.2 fejezetét nézd át, a Figure 3-1 tüzetes átvizsgálása mellett. Van ott egy Interrupt-On-Change feliratú kapu, na annak a bemenő jeleit kövesd végig.
kezdem kapisgálni... A 0x096h -ra kéne 0x08h-t írni.
Akkor konkrétizáljuk a dolgot, mielőtt egy újabb nyákot legyártok CSS-ben ez így néz ki? (most atnulgatom a CSS-t is)
ez a kód dolog nem jött be
szal #INT_RA3 void RA3_isr() { } .... set_tris_a( 0b11001000 ); // GP3 input enable_interrupts(INT_RA3); enable_interrupts(GLOBAL);
#INT_RA
void RA_isr() { itt kell eldöntened, melyik lábon és milyen éllel } és értelemszerűen: enable_interrupts(INT_RA); a főprogramba.
OK, de nekem csak a GP3-ra kéne hogy beessen egy interrupt, a többi kimenet és állitgatom, ha arra is megszakítást generál az nekem nem nyert.
Erre lenne jó potyo javaslata, a 08h a 096h-ra, de ezt CSS-ben hogy tudom elérni?
Sziasztok!
Ha ezt: az égetőt csinálom meg és stabilizált labortápról szedem a 15V, akkor melyik alkatrészeket hagyhatom ki Gondolom a 2 kondi és az első stabilizátor, stabilizálásra szolgál.
Teszteled, hogy melyik lábon volt a változás és csak akkor hajtod végre a megszakítás többi részét, ha az a számodra érdekes láb volt.
Megnéztem az adatlapot, meg a PIC-ről mit ír a CCS. Úgy jónak kell lennie, ahogy te írtad, tehát #INT_RA3 (stb.) !! Szerintem ez beállítja a IOC regisztert.
Mondjuk ez a programozó Topi cikkében szerepel, annak ellenére, hogy csak a szívás van vele.
Lehet korrigálni kellene és valami normális LPT-s kapcsolásra lecserélni. pet: watt arra próbált utalni hogy ennek a topiknak a nagy része a JDM fikázásáról szól ami nem alaptalan. Nem írom le mégegyszer az okát ha visszalapozol kapsz rá korrekt választ, hogy miért nem ajánlott használni. |
Bejelentkezés
Hirdetés |