Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Idézet: „ez megakadályozza hogy a akksi túltöltődjön?” Ha erre a kerdesre tudod a valaszt akkor a sajatodra is tudni fogod: Latsz a rajzon tolto aramkort? Idézet: „Sikerült megoldani a problémát” Mondjuk azert szivesen vettem volna ha megosztod a megoldast, es hogy mi volt a bibi a kodban amit irtam Mar persze ha nem katonai titok
Ha már mikroc.
Nem tudja valaki hogy lehet az icd2-vel összeházasítani, hogy tudjon debugolni? Vagy pickit2-vel? Kijavítottam a rádiós adatátvitel hibás kódjait ami Topi cikke szerint készült, rossz volt a kódoló dekodoló rutin, most már nagyon kasán működik, éjjel kiviszem a sufniba megnézem milyen távot tud. Ha valakit érdekel akkor szóljon elküldöm.
Nem lehet telepíteni az MPLAB alá? Mert ha igen, akkor meg van oldva a kérdés...
A kód jó.Működik MikroC-ben is.Villog is a LED a PIC RB7-es lábán.Csak a többi láb RB6-RB0 -ig magas szinten vannak valamiért.
main() { trisab=0; portb=0; while(1) { portb.F0=0; portb.F1=0; portb.F2=0; portb.F3=0; portb.F4=0; portb.F5=0; portb.F6=0; delay_ms(500); portb.F0=0; portb.F1=0; portb.F2=0; portb.F3=0; portb.F4=0; portb.F5=0; portb.F6=1; delay_ms(500); } } Aztán így oldottam meg,hogy alacsony szinten legyenek a kimenetek.
Az áltlad fentebb belinkelt mikroC felhasználói kézikönyv 35. oldalán az áll, hogy a . mint "member selektor" és az F0,F1,F2,..,F7 bitkijelölő azonosító valamelyikét hozzáfűzve a port azonosítóhoz BITENKÉNT kezelheted a ki/bemenetet.
Tehát:
Természetesen, ha a nyomógombod földre zár, s a LED is a földre van kötve, akkor invertálni kell a feltételt. Azt is találd ki, hogy a gomb elengedésekor mi történjen. Mellesleg a felvetésed nem konkrét probléma volt, hanem egy kitűzött feladat. A konkrét problémán én azt értem, hogy pl. "nem tudom, hogy kell beolvasni az A1 bit állapotát".
1. Ezzel nem az RB7-et, hanem az RB6-ot villogtatod. Persze ez a hetedik bit, de a 0-val kezdődő számozás miatt ennek RB6 a hivatalos neve.
2. Ha togglePortBit(PORTB, 0); helyett azt írod, hogy togglePortBit(PORTB, 6); akkor trudnai programja jó lesz RB7 villogtatásához. 3. A 2.pontban leírtak helyett használhatod a PORTB.F7=~PORTB.F7; értékadást is, de ha kiadtál inicializáláskor egy PORTB=0; parancsot akkor nincs szükség PORTB.F0 és a többi bit periodikus újraírására.
Sziasztok
Valaki szánjon már meg, mert nem találom a microchip-es linket ahol ki lehet választani a megfelelő típusú PIC-et a paraméterek alapján (perifériák, portszámok, sebesség, etc.) Valaki anno linkelte ide valahova.... Köszi
A MAPS szót jegyezd meg. Aztán már megvan: Link
Rossz linket szúrtam be. Itt az igazi:Link
Idézet: „Ha togglePortBit(PORTB, 0); helyett azt írod, hogy togglePortBit(PORTB, 6); akkor trudnai programja jó lesz RB7 villogtatásához. ” Igen trudnai progjamja jó is nekem.Bocs!Én írtam félre a programban a portot az R0 - át akartam villogtatni. Idézet: „Én írtam félre a programban a portot az R0 - át akartam villogtatni.” OK, akkor visszatérve erre a beírásodra, az ott beírt programodban a MikroC kézikönyve szerint csak annyit kell módosítani, hogy a PORTB=~PORTB; helyett ezt írod: PORTB.F0=~PORTB.F0;
Üdv
Van egy PIC12F629-em, ami ugye 8 lábas. Azt nekem 5 lábra lenne szükségem, és azt szeretném kérdezni hogy hogyan lehet a belső oszcillátorát bekapcsolni, hogy arról mennyen a PIC? Melyik regiszterrel? Köszi
A konfigurációs bitekkel=>adatlap
Mert ha belegondolsz, amíg nincs órajel, addig nincs utasításvégrehajtás, tehát nem tudsz semelyik regiszterbe se írni...
Tehát induláskor kell neki órajel, majd utána lehet leválasztani?
Égetéskor ugye van órajele, akkor elég, és utána indításkor tudja hogy belső OSC kell? Milyen néven találom meg az adatlapján? Köszi Módosítok A Config biteket megtaláltam már, csak a másik kérdésre kérnék választ..
Config biteket nezd vegig az adatlapban... Adobe es Foxit PDF readerekben is van olyan kereso, ami az osszes talalatot felhozza egy listaban, es akkor nagyon gyorsan vegig lehet nezni a talalatokat. Pl. keress ra ily modon a "config" vagy "configuration" szavakra ill az "oscillator"-ra is.
Nem, azonnal belsorol indul... Egeteskor nem orajelet kap hanem a szinkron jelet kapja csak a programozotol...
Nem kötözködni akarok, csak pontosítani, hogy az égetőtől is órajelet kap(PGC), de annak természetesen nincs köze a PIC oszcillátoraihoz(mert ugye abból is több van, legalább is mód szerint)
Köszi, meglett a konfig bit
Még egy kérdés. Itt a 12F629-nél GPx-nek nevezi az IO lábakat. Ez a címzésnél mit változtat? Itt is lehet PORTA.0-val vagy itt más a neve? Köszi Idézet: „Nem kötözködni akarok, csak pontosítani, hogy az égetőtől is órajelet kap(PGC), de annak természetesen nincs köze a PIC oszcillátoraihoz(mert ugye abból is több van, legalább is mód szerint)” Igy van, az a szinkron jel a synchron-serial kommunikacional Most amugy nem emlekszem program modban mindig a belsorol veszi-e az orajelet a PIC, de az bitos nem annyira bugyuta mint az AVR, hogy rossz orajel konfig miatt kizarhatod magad. Idézet: „Itt is lehet PORTA.0-val vagy itt más a neve?” Sajnos, nem, tehát át kell írni a programokat. Talán a legkényelmesebb egy:
a program elejére.
Én nem adnék ilyen tippeket... Maradjon csak GPIO.0, GPIO.1, stb.
Idézet: „Talán a legkényelmesebb egy: #define PORTA GPIO” Ha mar itt tartunk akkor szerintem jobb ha nevesitve vannak a kapcsolodo kulso aramkori elemek, es akkor konyeden hordozhato ill helyezheto at mashova, pl: #define LED GPIO,0 majd: bsf LED bcf LED es ha masik labra kell tenni a LED-et akkor csak: #define LED GPIO,2 ill. ha masik PIC, akkor: #define LED PORTB,3
A PIC egyáltalán nem vesz semmilyen órajelet belülről programozáskor. A PGC-től függően hajtja végre az utasításokat. Úgy tudom a nagyobb példányoknál is így van, még a 32F-eknél is.
Igen, ez a fajta deklarálás már potyo-nak is tetszene!
|
Bejelentkezés
Hirdetés |