Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Szia!
Idézet: „A kérdésem tehát az lenne, hogy a mellékelt képen az első 3 legördülő menüvel hogy lehet beállítani, hogy pl. egy 4 MHz-es kvarcról járó PIC 48MHz frekin járjon?” Én végigolvastam... Szia Idézet: Igazad van, figyelmetlen voltam! „Én végigolvastam...”
Szimulátorban nekem is szépen megy, de amikor a tesztáramkörben fut akkor egy darabig "futnak" a ledek majd újraindul.Ezt onnan gondolom, hogy a program elején még a végtelen ciklus előtt az összes ledet bekapcsolom...Ezért gondoltam, hogy a watchdog újraindítja, de lehet, hogy rossz úton járok.
Köszi. ![]()
Induláskor ki kellene olvasni azokat a státuszbitekek (PCON-ból talán), amik alapján meg lehet állapítani, hogy mi okozta a resetet, és ezeket kitenni pl. egy másik portra. Ebből talán meg lehet állapítani, hogy merre vizsgálódj tovább.
Én úgy emlékszem, hogy ha a watchdog jár le, azt az MPLAB SIM jelzi.
Igen, de ha a nincs a hex-ben a config, akkor lehet, hogy szimulátorban jól fut az MPLAB beállításaival, viszont a PIC-ben nem. Legalább is ha jól emlékszem lehet ilyen helyzetet okozni, akár az égetőprogrammal is, ha nem viszi ki automatikusan a configot. A WPB_F18 is tud részenként programozni pl.
Én azt javaslom karesz25-nek, hogy mindenképpen a programban legyen beállítva a config és meg kell győződni, hogy a PIC-be kikerül-e az égetés után!
A korábban csatolt projectben a ConfigWord értékét, igaz kikommentezve, de 0x3FF9 re írtad. Ez azt jelenti, hogy az LVP bit engedélyezve van! Tiltsd le és ne az MPLAB-ban állítsd be a biteket, hanem a main.c -ben!
Az égető programban ellenőrizd, hogy milyen értéket akar kivinni(írd meg milyet!)! A BODEN-t is letiltanám, és a PWRTE-t engedélyezném.
Ebben lehet valami. Látszik, hogy én mindig a kódban állítottam be a konfigurációs biteket...
Beírom ide is (hátha nem ütnek fejbe a modik
![]()
Szia!
én szivesen gyártok nyákot !!! PicKit2 Klón -hoz van mindenem mennyikell?? és milyen árba kéne? üdv szabolcs ( szerintem 50/100 darabot egy nap alatt simán megcsinálok marással eggyütt, de fúráshoz nincs gépem. Akár bonyolultabb nyákot is megcsinálok 2 oldalast is 350x400-as méretig, de ha kell tudok nagyobb méretet is)
A linkelt panel kétoldalas, furatgalvános, nem hiszem, hogy ezt érdemes lenne otthon legyártani. A PK2 paneljét én is kinyomtatom itthon, ha kell, de egy gyártatott panel ezerszer különb, főleg, ha kétoldalas, és nem kell az átkötésekkel sem foglalkozni.
Hali! Nem tudná valaki elmondani, hogy hogy lehet olyan programot írni, ami a következőt csinálja:
Fut egy alap program, ha megszakítás érkezik, akkor elnavigál egy másik labelre. Utána azt csinálja folytonosan, és utána ha megint érkezik a megszakítás akkor a harmadik labelre lépjen és így tovább... Én addig eljutottam, hogy Labelek megvannak, megszakításhoz is bemegy a pic de nem tudom, hogy azt hogy kell, hogy onnan mindig a következő labelre lépjen vissza... Ha valaki tud megoldást akkor leírná? ![]()
A megszakításodban növelj egy változót, pl 1-gyel. Ide tegyél egy feltételes elágazást pl.:
Ha c=1 akkor goto label1 és a többi. Ha kilépsz a labelből és visszatérsz a főprogramba, akkor pedig nullázod a c változót. Gondolom így meg lehetne oldani.
Ahamm, én is valami ilyesmivel gondoltam, csak nem ment...
![]()
Ezt pl. ki lehet deríteni a disassembly listingből, hogy mit írt a fordító oda, mert a hardverben ott mindenféleképpel lesz valami, a kérdés, csak az, hogy fordító mit tesz oda. De az egyik "message" a fordítási logban pontosan ezt mondja, hogy mit vesz alapértelmezettnek azokon a helyeken, ahol valami hiányzik. Szóval nézd meg a logot, benne van.
Bár nekem nincs szükségem ilyen programozó adapterre, de a nyákgyártási ötlet az jó. Az icserny oldalán levő DSP80-as fejlesztő panel jobban érdekelne, főleg hogy azt már macerásabb lenne sima egyoldalas panelon esetleg próbapanelon megcsinálni mint ezt az adaptert.
Értem. Közben rájöttem, hogy egyszerűbb ha elforgatjuk azt a változót, és akkor lehet ilyen szűrést csinálni... Ha minden igaz...
Ez így rendben van? ![]()
Szia!
most egy ilyen nyákkal kisérletezek, mint amit ítrtál. szerintem megoldom. de majd mondom, mi lett a végeredmény
Ezt a nyákot kelett volna átkonvertálni, nyomtatható változtra A és B oldalra, de sajna senki nem jelentkezett a műveletre, így hát át kell rajzolnom az egészet.
Ja és én nem nyomtatom az áramköröket, hanem úgy gyártom, mint ahogy a kis példányszámú nyákokat szokták "szitázom" :-filmnyomás-: (nyomda technika) üdv szabolcs Idézet: Ebben a topikban azt is ajánlgatta már egyik fórumtársunk! Csak nem jutott eszembe, hogy te kerested... „Az icserny oldalán levő DSP80-as fejlesztő panel jobban érdekelne” ![]()
És a LABEL-ek hol lesznek elhelyezve a végleges programban? Csak mert, ha a megszakítási rutinon kívül, akkor csúnya véget érhet a program az esetleges helytelen stack-kezelés miatt.
![]()
Átkonvertálni talán annyit lehet belőle, hogy bitmap képet csinálsz a gerber fileokból. A másik topicban belinkeltem azt az ingyenes gerber nézegetőt, amivel meg tudtam nézni, hogy mi van a Foxdeltától letölthető csomagban. Az tud exportálni képfileba. Én maximum ennyi konvertálást tudok erre, de abból még nehezen lesz kész panel. Még ott a fúrófile, amihez külön szöveges infóban van benne, hogy melyik fúró milyen vastag, és akkor még a furatgalvánról nem is beszéltünk. Ha van kedved, nézd meg a gerber fileokat a viewerrel, hátha segít a házi nyomtatásban.
Köszi, írtam neki pü-t, remélem van még belőle
![]() Ez a topic nekem valahogy kimaradt. :hide:
Lassan, de bizonytalanul készülget a háttérben a PICCOLO projekt, de Húsvét előtt biztosan nem lesz időm leírni az új fejlesztéseket. Mostanában az USB CDC (virtuális soros port) projektbe történő integrálásával foglalkoztam. Ízelítőül itt egy "Hello world!" programocska, amiből látszik, hogy a PICCOLO projekt támogatásával kezdőként is könnyen összehozható egy olyan program, ami USB-n kommunikál és valamit kiír a PC képernyőjére. Jelen esetben a printf utasítást próbáltam ki.
A mellékelt képen látható, hogy a vett karakterek betűjét és kódját írja vissza a program. A fenti volt a pollingos eset (a lekérdezés az usb_CDC-getc() függvényben van elrejtve). Az interruptos eset sem sokkal bonyolultabb, csak definiálni kell az interrupt kiszolgáló eljárásokat:
Kár, hogy nem olvastam ezt előbb....
![]() ![]() ![]()
Üdv!
Már pár órája szenvedek egy led villogtatásával hitech c lite alatt. Az alany egy 16F690.
A probléma az, hogy az if el pl miért nem megy? Meg a negáló operátorral sem... ASM kód amit generál jónak néz ki... (Azért poén hogy 3-4 goto van egymás mögött tehát ugrik az egyikről a másikra és így tovább.. nem az hogy egyből oda ugrana. Ok hogy lite verzió de akkor is...)
http://www.hobbielektronika.hu/forum/topic_hsz_458622.html?highligh...458622
Ha 16F690-et használsz, akkor annak a h fájlját includold be, ne a 16F685-ét!
16f690-hez nincs külön include, a 16f685-ét használja. ( ill a pic16f685.h-ban van kb 3-4 cpu egyben)
Tudom, hogy létezik a rmw hiba, de ebben az a poén hogy ezt most gyorsan megírtam asm ban és tökéletesen megy. Hitech c meg "berak magának" egy rakat késleltetést már azzal hogy 3-4 goton át jut el hogy invertálja a kimenetet a teszt után. Most itt ebben az asm kódban a legkevesebb késleltetéssel csinálom olvasás után az írást és megy.
Ja és más funkció nincs a lábon ami bezavarhatna.
Ez az az eset, amikor két hibát is elkövetsz, és a két hiba eredménye véletlenül az, hogy látszólag az történik, mint amit szeretnél, hogy történjen. Olvasd végig alaposan a linkelt hozzászólást, mert abban van a megoldás az előző kódod hibájára. A mostaniban meg azon kívül még az is hiba, hogy nem váltottad vissza az RP0 bitet.
Akkor a pic.h állomány includold be, abban benne van feltételes fordítási direktívákkal a megfelelő h fájl beincludolása.
Üdv mindenkinek!
Egy PIC-el maximum hány darab 7 szegmenses kijelzőt tudunk multiplexeres módon vezérelni? |
Bejelentkezés
Hirdetés |