Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Sajna ez van, figyelni kell az ilyenekre. Annó nekem is rengeteg időt vett el a 16F szérián a PORTB - TRISB, meg az ehhez hasonlóan ugyanazon címen, csak más bankban lévő regiszterekkel, mikor elfelejtettem egy helyen bankot váltani.
"debug módot törölni a config-ban"
Ez hol van konkréten, melyik fülben, mert így nem találom
A mellekelt kepen levo dolgokat -- es az akorul levoket -- nyalazd velgig...
PIC24H - Section 25. Device Configuration
Ezt beállítottam az elején
config __ICS_PGD1 ; communicate on PGC1/EMUC1 and PGD1/EMUD1 Kell még valamit beállítani? Idézet: Nálam ez így néz ki:„Ezt beállítottam az elején config __ICS_PGD1 ;”
Beállítottam a JTAH-ot is.
Ez az alapbeállításom: .include "p24HJ64GP206A.inc" config __FOSCSEL,FNOSC_PRIPLL config __POSCMD_EC config __FWDT, FWDTEN_OFF config __ICS_PGD1 ; debug-oláshoz kell config __JTAGEN_OFF Méh mindíg valami nem ok. LEhet, hogy csak valahogy el kellene indítanom. A leírás valami break pontot ír meg hogy futtassam a RUN-t. Ezt is próbáltam, de lehet, hogy nem jól csinálok valamit Az adatmemóriát akarom kiolvasni, miután infra porton beküldtem a jeleket. MPLAB SIM-mel OK volt. A szerkezet apró hibával de működik, tehát bekerülnek az adatok.
JTAGEN_OFF-ot akartam írni, hogy beállítottam
Szia!
Csak az inicializáló részt kell átírni három ok miatt: - itt nem a banksel macro -t használta a szerző, - a 16F628(A) csak 4 MHz -es belső órával rendelkezik, - A 16F628(A) -nál nem az ANSEL regiszter törlésével kell digitális módba kapcsolni a A portot, hanem a CMCON regiszterbe 7 írásával.... A többi programrészben nem kell változtatni... Az eeprom kezelés is jó lesz a 16F628(A)-n mivel minden regiszter elérés előtt ott a banksel...
Sziasztok!
Igazából nem tudom, hogy jó helyre írom-e kérdésem, de mást nem találtam. Van egy Panasonic SD420-as videólejátszom, aminek kieszedtem az infráját. Ezt rákötöttem a PIC-emre, müködik is. A távirányítójától fogja is a jelet. Mivel oszcilloszkópom nincs ezért az RB0- port segítségével szerettem volna megnézni, hogy milyen jeleket küld. A kódom:
Ez egy PIC16F887-es, Hi-tech C fordítóval. Az eredményt UART-on küldi ki a PC-nek, nos ilyen eredmények jönnek: 1-ik gombra: 01001000000000000100000001000100000000001001000000100101000101 azonos gombra, azonos kódsorozat jön, a többire meg mindig változik, az első 39 bit az marad, gondolok itt arra, hogy az lehet a távirányító azonosítója, vagy akármi. De az lenne a kérdésem, hogy hogyan küldhet több db 0-át vagy 1-est egymásután, amikor az RB0 minden megszakításánál, változik, hogy felfutó, vagy lefutó élre érzékel (INTEDG ^= 1) rész. Nem értem, hogy akkor hogyan lesz 2 nulla, weak-pull up nincs.
Itt a forrás 16F627(A), 16F628(A), 16F648A, 16F87, 16F88 -ra is fordítható változata..
Sziasztok!
Keresek Árammérésre szolgáló PIC-es áramkört, aminek van forrása is, hogy át tudjuk alakítani PIC16F873-ra. Amit tudnia kéne, az annyi, hogy Áramot mére, max 1A terhelés alatt 4db 7 szegmenses kijelzőn.
Szia!
A PIC a +Vref és a -Vref közötti feszültséget alakítja át a 0 .. 1023 digitális értékre. A kellő pontossághoz azonban min. 3.5V feszültség különbség kell. Ez a feszültség sokkal nagyobb annál, amit az ampermérőkön szokott esni. Ahhoz, hogy lényegesen ne zavarjuk meg a mérendő áramkört, max. 0.1 V -os felszültséget engedhetünk meg az érzékelő ellenálláson 1A esetén. A mérőellenállás tehát 0.1 ohm. Ezt a feszültséget kell pl. a 0..5V -ra felerősíteni. Az erősített jel mehet a PIC analóg bemenetére. A mérő ellenállásanak max 0.1% -osnak kell lennie és az erősítőt 0.1% -os tűrésű alkatrészekből kell megépíteni. A másik probléma a zavarok kiszűrése. A 0.1V 10 bites felbontású méréséhez kb. 0.1mV zajzintet kell eléreni a mérőkörben.
Szia!
Próbáld meg megcserélni:
Kicsit vicces,de a kezdőoldalon valami ilyet láttam:
PIC-es panelmérő
Nem vicces, ehhez nem fogok neki, ez több 10 ezres cucc, és nekem csak A mérés kell, ez meg mindent mér, feszt, ellenállást, stb..
Javaslom inkább a PIC Kezdőknek topicba írj, ott lehet, hogy jobban elviselnek! Gondolom Hp41C írása is csak üresen cseng a füledben. Kész áramkört ne várj itt, hacsak Hp esetleg nem tervez neked és nem írja meg a programot.
[OFF] Ok, sajnálom, kezdő vagyok, de törekszem........
Nem igaz hogy folyton tök alapvető problémákba ütközöm ezzel a PIC18F26K80-al...
INT2-vel szeretnék megszakítást generáltatni. A lábat egy nyomógombra kötöttem aminek a másik vége a GND-n van. Ellenállás-spórolás végett bekapcsoltam a lábra a belső felhúzóellenállást és így állítottam be a dolgokat:
Ha nyomom a gombot ha nem, nem történik megszakítás. Debuggerben megnéztem az INTCON és az INTCON3 regisztereket hogy tényleg az van-e bennük amiket beállítottam, az van. Megnéztem hogy egyáltalán a PIC érzékeli-e magát a jelszint változást a lábon, ezért ránéztem a Watch ablakban a PORTB regiszterre, de sajnos nem. Ekkor elővettem egy multimétert és rámértem az INT2 lábra amikor nincs benyomva a gomb, de L szint van rajta! Hogy lehet, hiszen bekapcsoltam a felhúzóellenállásokat!? Ekkor kezdtem gyanakodni a debuggerre, hiszen a napokban ugyebár már tapasztaltam a hülyeségeit. Ezért próbaképp az INT2IF flagbitet 1-re állítottam majd továbbléptettem a programot, de nem lépett be megszakításba. Globális megszakítás (GIE), periféria-megszakítás (PEIE) és INT2 megszakítás-engedélyezés (INT2IE) bitek továbbra is 1-ek. Közben a jelen problémától függetlenül a CCP3 megszakítás is működik a programomban, szerencsére az teljesen jól. Ezért gondoltam 1-re állítom a Watch ablakban a CCP3IF bitet is hogy akkor belép-e a megszakításba. De nem, akkor se! Szóval a debugger tuti megint bolond, de nem ez a hiba oka persze. Hanem szerintem az hogy valamiért még sincsenek bekapcsolva a felhúzóellenállások. Ha otthon lennék (most épp dolgozom) akkor adnék a lábra külső H-szintet és rögtön kiderülne hogy a felhúzóellenállások a ludasak vagy maga a láb nem akar bemenetként működni, vagy esetleg a megszakítás nincs jól beállítva az INT2-re. De mivel nem vagyok otthon, viszont nagyon idegesít a probléma így megkérdezlek titeket a dologról.
Meg is van a hiba egyik fele, ez még hiányzott:
Most már H szint van a lábon a Watch ablak és a multiméter szerint is. A gomb benyomására pedig L lesz a debuggerben, de az INT2IF bitet nem állítja 1-re sajnos. Miért?
RBPU-t beallitottad? INT2IP mire van allitva? Hasznalsz egyaltalan megszakitas siznteket?
Az RBPU most már 0. INT2IP 1-re van állítva, minden megszakítás magas szintű lesz majd.
Akkor meg annyit probalj meg, hogy a PORTB-t kiolvasod meg mielott a megszakitast engedelyezed. Ja es az INT2IF-et torold meg mielott az INT2IE-t engedelyezed.
Amugy meg lehet egy olyan is hogy szimulatorban nem tortenik megszakitas, ha azon probalkozol, de ez persze nem biztos csk egy lehetoseg...
Hali!
Egy kis segítséget szeretnék kérni. Egy 16F1826-os 1-es komparátorát akarom használni. Kicsit nehezen igazodom el az adatlapján. Ha jól vettem ki akkor az RA1 a negatív, RA2 a pozitív, RA3 pedig a kimeneti láb. Jól gondolom? Ha nem légyszives segítsetek. Előre is köszönöm! Üdv!
Igen, lehet ilyen módba is állítani. De több láb is lehet mind pozitív, mind negatív bemenet, nem néztem, mi az a beállítás, ami reset után alapból rendelkezésre áll (valószínűleg az, hogy tiltva van a komparátor).
Sziasztok. A Demo Boradom-on lévő PIC18F887-en megtanulhatok PIC-ezni , mivel azt mondják, a 18F-es PIC-en lehet igazán tanulni, és kérdés, ez ideális-e.
Sziasztok, lenne egy problémám a Hi Tech C18 fordítóval MPLAB-ban, akár mit is csinálok a program mindig a program memória végére kerül de ott bootloader van s így nem kerül fel a program a PIC-re (18F4620) és ez nagyon idegesít.
Nem tudja esetleg valaki, hogy hogyan lehetne máshová helyezni a programot? próbáltam az asm részlettel is a c kódban de úgy is: . . . #asm org 0x20; #endasm . . . Kérlek segítsen aki tud, köszönöm
Ha van ilyen PIC-ed demópanellel, akkor nyugodtan használd azt! Vannak nehézségek ( a legnagyobb probléma a bankváltás ! ), de ez nem olyan nagy probléma és minimális odafigyeléssel a kezdő programjaidnál nem fog akadályt jelenteni. Viszont ha ezt megtanulod, akkor nem lesz problémád a kisebb lábszámú pl. 12F675-ös kontrollerrel sem és a 18-as sorozatra áttérés sem fog gondot okozni !
Steve
Köszike szépen ! Valami könyvet tudnál ajánlani ami C-ben tanít 18-as kontrolleren programozni? Még csak egy saját programom van, egy stroboszkóp, amit 12F683-ra írtam.
Én kapásból PIC16F887-nek olvastam a kontrollert, mert olyat ismerek ( demópanellel is van tudomásom szerint ), 18F887-et meg a Microchipnél sem látok !
C-s kérdés már többször volt itt a fórumon, ha rákeresel ( és dolgozol vele ! ) akkor biztos megtalálod a könyvek lelőhelyeit ! Az általam előbb leírtak a 16-os sorozatra vonatkoznak ! Steve |
Bejelentkezés
Hirdetés |