Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Köszönöm a választ!
Idézet: „icserny írta: Idézet: „Mit nem veszek észre? ” Azt, hogy ennél nem FOSC hanem OSC a paraméter neve. Tehát így írd: 1. CONFIG OSC = HS” Hát ezt tényleg nem vettem észre Már kezdem is ásni magamnak a gödröt..... Idézet: Kár volna! Ássa csak a gödröt a gyártó, aki ezt a következetlenséget kitalálta! „Már kezdem is ásni magamnak a gödröt...”
Igen, lesz vele sorba, nagyon köszönöm a segítséget!
Ezért használom a régi jól bevált konfigot, még C-ben is sokszor! Egyébként egyetértek abban, hogy sokszor nem tudják mit csinálnak!
Sziasztok
Megépitettem az égetőt mellékelem meiket de valami gond van,mert az egetés elkezdem és ezt az üzenetet írja ki: No Oscillator callibration value found Do you want to use value fron file instaed? A Vcc mérem a4.5 voltot Az mclr-n pedig 13.5 voltot.12f683-as pic-t akarok égetni icprog-al de valamiért nem akarja az igazságot
Üdv!
Olvastam a chipcad honlapján a PIC32 Ethernet Starter Kit-ről. Olyat szeretnék csinálni, egyelőre csak gyakorlás ként, hogy építek két-három panelt PIC32-vel, mindhárom panelnek más IP címet adok, sorba kötöm őket, rákötöm egy PC re, és a panelokon lévő pl DIP kapcsolót ha feltolom, a PC-n megjelenjen mondjuk az adott panel/panelek IP cime. Kérdések: Ezzel a starter kit-el ez valyon megoltható? Esetleg kicsit olcsóbban lehet építeni ilyet? Csinált már valaki hasonlót? Köszi!
Ha a PC-n meg tudod írni a feladatot lekezelő programot, akkor igen. Ezek teljes értékű kommunikációs eszközök, kiegészítve a mikrokontroller adta lehetőségekkel. Csak tőled függ hogy ezen belül mit fog tudni. Arra persze nem nagyon lehet számítani, hogy olyan programokat találsz, amik pont azt tudják, amit szeretnél. Ezt meked kell tudni megírni!
Elkezdtem C18-al a PIC programozást.
Csináltam egy kis demo boardot. 18F4550-re irogatnám a programokat. A led villogtatás AD átalakítás már megy. Amikor meg akartam nézni, hogy mennyire gyors a PIC, akkor azt tapasztaltam scoppal mérve, hogy mindegy volt, hogy a config hova van állítva, 1us egy utasítás. Ez a főprogramom:
20Mhz-es a kvrac. HID-Bootloader már bele van égetve és a bootloader feletti tartományra programozok. Az a fura, hogy az MPLAB-ban ha beállítom a konfigot, mindig 1uS a ciklusidő. Mindegy, hogy PLL van-e vagy sem. AZ OSCCON regisztert is átállítottam primary osc-ra. Mit csinálok rosszul?
Rákerestem.Valaki azt irta hogy rossz,valaki azt ,hogy neki tökéletesen működik.Az én esetemben mi lehet a baj?
Elég sok oka lehet, tessék olvasgatni
köszönöm.És tudnál mondani ami működik biztosan?
De soros vagy usb lenne jó mert nincs lpt portom.Ha nem lenne nagy kérés jó lenne nyák terv is sok időt megspórolnék
A PICKit2-t ajánlom. Meglehet venni Chipcad-ban pár ezer forintért. Cserébe kapsz egy megbízható, jó minőségű kompakt kis égetőt, amivel USB-n keresztül tudsz égetni.
Vannak PICKit2 klónok is, ha építeni szeretnél. De ott figyelembe kell venni azt is, hogy ebben egy másik PIC dolgozik, amit fel kell programozni. Néhány link: PICKit2 klón építése PICKit2 klón építése, kapcsolás
Ezt a kódot írtam ma.
Ha a GIE-et bekapcsolom, akkor az első ciklus után lefagy a program. Gondolom, hogy nem jó a megszakításom. HID bootloadert használom meg a piccolo project linker scriptjét. Itt a kódom, ami működik, kivéve a megszakítást:
Sikerült a karakteres LCD modult beüzemelni. Nemtudom mi lehetett a hiba. Ugye mikután küldtem a hsz-t szétszedtem az áramkört. Kaptam egy fülest hogy a beforrasztott lábakról alkohollal szedjem le a forrasztózsírt, megtettem, összeraktam újból a kapcsolást, és azóta megy tökéletesen.
Köszönöm a hozzászólásokat.
Van egy PIC-es kapcsolásom amiben működik egy óra is. Tápról (stabil 5V) működik, de ha nincs táp elemről (4,5V) megy tovább, csak a kimeneteit lekapcsolja. Az óra kb 2 perc/nap sebességgel gyorsabban megy 4,5V-ról! A qarz 3,575 MHz-es. Ez normális lehet?
Szia!
A 18F2550 - 18F4550 -ben bizonyos verzióinál gubanc van a hardware regiszter mentéssel - az ajánlás szerint a két megszakítási rutinnak az alacsony szintű rutint (mentésnél nem használják a hardware regisztereket) kell beállítani. Olvasd el az Errata-kat... Datasheet-errata, Silicon-errata Induláskor töröld ki az INTCON (RBIF értéke határozatlan), és az összes PIR regisztert. Szia
Üdv!
az lenne a kérdésem, hogy timer 2-nél milyen képlettel lehet kiszámítani a PR2 értékét, vagy van e erre valamilyen program?
A konfigurációs biteket fölösleges definiálgatni, a bootloaderrel együtt már be vannak állítva.
Az interrupt használatához a PICCOLO project esetén 1. definiálni kell a USE_INTERRUPT szimbólumot 2. definiálni kell a hi_isr() interrupt kiszolgáló eljárást 3. definiálni kell a lo_isr() interrupt kiszolgáló eljárást (akkor is, ha csak egyszintű programmegszakítást akarunk használni). A programot én így kezdeném:
Mint látható, az interrupt kiszolgáló eljárás neve kötött, s kell elé egy #pragma interrupt vagy interruptlow sor. A PICCOLO projekt állományait épp most vizsgálom felül, mert hibákat javítgatok benne, illetve tovább kell fejleszteni az USB használathoz. A fenti programhoz a mellékelt állományokat használtam.
Üdv, Sziasztok!
Lenne egy olyan kérdésem, hogy a Pic klón Pic nélkül letudom e ellenőrizn. Mondjuk, ha a foglalatban áthidalásokat raknék, hogy le ellenőrizzem a kapcsolást áram alatt, de még nem a számitógéphez kapcsolva. üdv szabolcs
Közben délután én is rájöttem.
Kikommenteztem a p18_all.h-ból a megszakítási sorokat. Aztán kipróbáltam azzal a módszerrel is, amit te mondtál. Mind a két metódus működik, de meghagyom a te kódrészedet. HID bootloader alapból milyen belső órajelen megy? Kicsit kevésnek tartom a sebességét. Lehet, hogy asm-hez vagyok szokva és a C ennyivel nagyobb (lassabb) kódot generál? Idézet: Természetesen 48 MHz-en (12 MIPS).„HID bootloader alapból milyen belső órajelen megy?” Az általad használt utasítás azonban igen rossz kódot produkált:
"Jobban forduló" utasításokal ugyanez:
Ugyan ez itt off, de nem tudom, hogy honnan szeditek ezeket a forrasztózsíros dolgokat. Már több helyen találkoztam ezen a fórumon a különböző forrasztást segítő csodák használatával és az abból adódó gondokkal. Elektronikai forrasztásoknál csak olyan folyasztó- vagy tisztítószert szabad használni, amit kifejezetten ilyesmire találtak ki. Egyébként meg leginkább semmit, csak tiszta gyantát, illetve eleve gyantás forrasztóónt.
Forrasztózsír elektronikához nem való! A forrasztózsírok, forrasztóolajok és hasonló anyagok maradványai érdekes meglepetéseket szoktak okozni az elektronikákban, ha valamiért ilyet kell mégis használni (szerintem nincs, ami indokolná), akkor nagyon alapos takarítást kell utána végezni.
Lehet akár normális is, a MHz-es kvarcokkal tapasztalat alapján mindig pontatlanabb az óra, mint ha direkt óra céljára kitalált kvarc lenne az óra időalap. De az is lehet, hogy valahol egy elcsúszik az osztásarány, ez a 3.575MHz nekem elég egzotikusnak tűnik.
A PORTB lábaira kapcsolható felhúzó ellenállások milyen értékűek? Nem találok erről információt az adatlapban. PIC18F2423-ról van szó.
PORTB-re LED van kötve és a PIC-nek ki kellene derítenie hogy nyitó vagy záróirányban van-e. Gondoltam a felhúzó ellenállással kinyitom a LED-et és analóg bemenetté konfigurálom az I/O lábat, majd megmérem hogy csökkent-e a feszültség a lábon. Ha igen akkor nyitó irányban volt a LED. Remélem elég kicsi ehhez a felhúzó ellenállások értéke és be lehet őket kapcsolni akkor is ha analóg bemenetre van állítva a láb... :hide:
Úgy tudom csak digitális bemenetkor működnek a felhúzók. Értékét úgy tudod meghatározni, hogy lehúzod mondjuk 10Kohm-al és megméred a feszt. Ebből ki tudod számolni a keresett ellenállás értéket. Ha túl kicsi feszt mérnél, akkor 100Kohm-al próbáld. Ha jól emélékszem 10Kohm az értéke, de lehet, hogy rosszul...
Most nézem, tényleg csak digitális bemenet esetén működik:
Idézet: „PORTB<0> data input; weak pull-up when RBPU bit is cleared. Disabled when analog input enabled.(1)” Kár.
Szia Szilva!
A qvarz a LOMEX-ban olcsó volt, van itthon belőle 10 db. Csak ezért lett ez használva. A PIC tápfesze befolyásolja a frekit, kb 1 hónapos teszt alapján. Ha csak elemről megy az óra 1 hét alatt 1-2 másogpercet siet, tápról kb 2 percet naponta.
Szerintem a tápellátásnak nem szabadna befolyásolnia a kvarcoszcillátort. Nem lehet, hogy elemről járva máshogy működik a program is, és emiatt lehet a különbség?
Egyébként azok valójában nem ellenállások, hanem FET-ek a chipen belül. Ezek a FET-eknek a kinyitáskor inkább áramgenerátoros jellegű lesz a felhúzás, éppen ezért az adatlapban is ezt az áramot adják meg és nem ellenállást (én 80uA körülre emlékszem).
|
Bejelentkezés
Hirdetés |