Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   1100 / 1320
(#) AccessDenied válasza vicsys hozzászólására (») Okt 17, 2012 /
 
Köszi a válaszokat! Nem jött értesítő, hogy érkezett hozzászólás Azóta betettem a WDT-t, de szerintem a prescalerje valami érdekes módon össze van kötve a timer0 prescalerével, és elég érdekesen működött. 2304ms-re állítva simán el se indult, viszont 72ms meg times_32-t állítva viszont igen... Mindegy, most működik, és resetel is, ha kifagy. Leírást nem találtam, hogy hogy lehet beállítani, számolni a prescalereket a WDT-hez. A fusesnél én is gyanakszom, hogy a HS az a külső oszcillátor lenne, de nincs rendes help a ccs-c-be, meg leírásokat se találok, de működik.

Az a legérdekesebb, hogy ha a hall szenzort leveszem, akkor is méri a fordulatot. Tehát nem tudom, hogy honnan, de valahonnan kap egy interruptot. A kijelzőt átraktam mostmár teljes egészében a portC-re, hogy köze ne legyen az interruptos lábakhoz (A0-A5, B4-B7).

Kipróbáltam mindent, becsomagoltam alufóliába a gyújtótrafót, gyújtókábelt, pipát, mikrokontrollert, szenzort, tápot, de nem sokat segített. Összekötöttem a motor testjét a mikrokontrollerével, na ez teljesen ellőtte. Rátettem a mikrokontrollert a motor akksira, egy 5V-os fesz stabbal, így készült a mellékelt videó. Tettem 100nF kondit a pic lábára, a kijelző lábára.

Azt mondjátok már meg, hogy ha az RA2 lábra jönne a hall szenzor kimenete, akkor az interruptot hogy kell kezelni? Először azt hittem, hogy
#int_RA2
void RA2_isr() {....}
-plusz a mainbe-
enable_interrupts(INT_RA2);
De így nem fogadja el a fordító a #-es sort, szóval az egész RA2 helyett EXT van mindenhol.

És 4MHz-es frekvencián is behibáz. Az a baj, hogy nem a kijelző hibáz be, (vagy nem csak) hanem a pic is, mert a wdt resetel (a videón látszik, hogy visszaírja a kettőspontot, ami csak a program elején van, a ciklus előtt). Szerintem holnap veszek egy zavarszűrős gyertyát. Lehet tervezek még ma neki egy nyákot is, de szeretném még bővíteni az áramkört, és a sok sikertelen munka (3nap) után most még nem sok kedvem van hozzá.

Kissi: led villogtatást csináltam már, meg terveztem már egy akkumulátor töltő vezérlőt, ami kijelzi a feszültséget, töltőáramot, lekapcsol ha túláram van, és lekapcsol, ha feltöltött, és az összes állapotot visszajelzi, csak az interruptba nem mertem belefolyni még. De ha a motortól 1m-es távon kívül van, tökéletesen működik! A hőmérsékletet is szépen méri, és a fordulatot is kis mágnessel 120-160-210 közé tekertem kézzel a hall szenzort izgatva.
A hozzászólás módosítva: Okt 17, 2012
(#) AccessDenied válasza (Felhasználó 15355) hozzászólására (») Okt 17, 2012 /
 
Ez egy jó két napos feladat De ha azt mondod, hogy ez a baja, akkor nekilátok.
(#) vilmosd válasza AccessDenied hozzászólására (») Okt 17, 2012 /
 
Eloszor is ossze kellene rakni egy rendes HW-t panelon, nem probapanelon. A zavarokat konnyen ossze tud szedni a PIC, mivel CMOS technologiaju, igy igen nagy bemenoellenallasu, tehat minden zavarra beindulhat. Segitseg lehet, hogy a hasznalt bemeneteket 1k-2k2 ellenallassal tapra felhuzni. A nem hasznalt labakat pedig inkabb kimenetnek allitani, es torolni. Ja esetleg ha csinalnal egy kapcsolasi rajzot az megint segitene a problemak kideriteseben. Gondolom a tapellatas rendesen meg van csinalva, ahogy a nagykonyvben leirjak. Ezt a WDT jatekot felejtsd el. A #FUSES direktivanal ugye csak egy tipusu oszcit allitunk be. Azt amit eppen hasznalsz. Mellesleg az a gyenge help amit a CCS hasznal, az messzemenoen jobb mint a masok forditoinal. A ceg oldalarol letoltheto PDF formatumban, de MPLAB alatt a "Build" gomb melletti kerdojel is a CCS helphez vezet. Maga a meresi elv nekem nem egeszen tiszta. Az en felfogasom szerint kellene egy 1 sec idoalap, amit pl a TMR0 IT-vel lehetne csinalni, megpedig ugy hogy a TMR0 elooszto es tartalommal beallitani, hogy minden 10 mS kozonkent jonne az IT, es egy szamlaloval szamolsz 100-ig. Amikor a szamlalo elerte a 100-at pont 1 Sec ido telt el. Az EXT megszakitasnal szinten szamoltatunk egy szamlalot, majd mikor megvan a Sec a szamlalo tartalmazza a fordulat erteket. Persze a ! Sec eleresekor lenullazzuk a Sec es a Ford szamlalot is es kezdjuk elolrol az egeszet.
  1. #define INTS_PER_SECOND 50
  2.  #int_TIMER0                        // This function is called every time      
  3.  void clock_isr()                                                              
  4.  {                                                      // the RTCC (timer0)overflows(255->0).              
  5.      set_timer0(100);              
  6.                                                                
  7.       if(--int_count==0)                                                                                                                     
  8.        {                                                                                        
  9.           int_count=INTS_PER_SECOND;
  10.            //na itt van egy masodperc
  11.          
  12.        }
  13. }
  14.  
  15.  
  16.  
  17. void main()  
  18. {
  19.  
  20.         setup_timer_0 (RTCC_DIV_128 | RTCC_INTERNAL);                                                      
  21.         set_timer0(100);                                              
  22.         int_count=INTS_PER_SECOND;
  23. }

Ugy nagyjabol ilyesminek kellene lenni a TMR0 IT-nek. MPLAB alatt szimulatorban be tudod loni hogy masodpercenkent erjen a szamlalo a nullara.
(#) AccessDenied válasza vilmosd hozzászólására (») Okt 17, 2012 /
 
A két használt bemenet közül az egyik a tápra van húzva, a másik folyamatosan a hőmérő jelét kapja. A kijelző bemenet/kimeneteiről nem tudok nyilatkozni, nem mélyedtem bele az lcd.c-be. A nem használt lábak kimenetnek vannak állítva, és az alap esetbe 0, azaz a GND-hez van kötve. Eddig usb-ről vagy pc tápról volt tápolva, az usb-vel nem is ment olyan szépen (vref-vdd~4,8). Az oszcillátort át is írtam a fusesnél, de úgy néz ki, hogy eddig se vette figyelembe, mert utána volt az internal. Nem azt mondom, hogy a help rossz, csak nem a legjobb.

Én nem bajlódtam az 1 sec időalap előállításával, belőttem egy nagyjábóli értékre, ami elég kicsi, ami név szerint (1/8000000)*16*256=0,000512s-enként jelez be a timer0 interruptja, ami lépteti a time változót, tehát ha bejön egy interrupt a hall szenzorra, csak meg kell nézni, hogy a time változó állása mennyi, és meg is kapjuk, hogy 2 fordulat között hányszor 0,000512s telt el, amiből kis matematikával elő lehet állítani a fordulatszámot. Mivel egy maximum 10000-es fordulatnál 0,006 a periódus idő, így az alatt is el kell hogy érjen a time 11-12-ig. Mondjuk most így utólag számolva ez nagyobb fordulatoknál eléggé pontatlan lesz, de akkor ledobom a prescalert, és lesz 128us. De úgy is lehet, ahogy te mondod.
(#) vilmosd válasza AccessDenied hozzászólására (») Okt 17, 2012 /
 
Nem tudom milyen a PIC, de talan a tapot kellene teljesen levalasztani mindenrol. Egy 9 voltos elem, egy 78L05 stabler, 100 uF, 1 uF, 100 nF tappal lehetne probalkozni. Mivel A PC tap akar kapacitasokon keresztul is, de nem foldfuggetlen igy az ilyen taplalas eleg sok zavart tud osszeszedni. A masik: a Te programod, vagyis a TMR0 IT nem eppen jo ugy. Probald meg az en modszeremmel, ez biztosan jo. En hasznalom sok programban. Az IT-kben ne csinalj semmi szamitast, csak a szamlalasokat, es pl egy jelzobit segitsegevel jelzed a foprogramnak, hogy letelt az ido, van szamolni es kijeleznivalo. Az AD kiolvasasat is eleg masodpercenkent megcsinalni.
(#) kissi válasza vilmosd hozzászólására (») Okt 18, 2012 /
 
Szia!

Próbának biztos jó az 1 s, de élesben nem! Egy motor akár több ezerrel is megváltoztathatja a fordulatszámát terhelés nélkül, de még terhelés esetén is jelentős lehet ez az érték! Kisebb érték kell és ügyesen összeválogatott kapuidő-jeladószám esetén elérhető a megfelelő fordulatszám kijelzése pl. 50-100-as léptékekben osztás nélkül!

Steve
(#) AccessDenied válasza vilmosd hozzászólására (») Okt 18, 2012 /
 
A pc táp kapacitásokon keresztül nem föld független? A pc táp kimenete rá van kötve a földre. Lehet hogy ez sok zavart össze tud szedni, de nem szed jelen esetben.

Ad átalakítás, mint hőmérséklet mérés. Mivel a fordulatot ugye interrupttal mérjük. Oda valóban akár jó is lehetne az 1s-enkénti mérés.
A hozzászólás módosítva: Okt 18, 2012
(#) kissi válasza AccessDenied hozzászólására (») Okt 18, 2012 /
 
Szia!

Én a LED vllogtatást, stb.-t MEGSZAKÍTÁSBÓL gondoltam, hogy megismerd a lelkivilágát ( mertem remélni, hogy azért ezen túl vagy, ha már ilyen projektbe fogtál, de Te írtad, hogy az interruptot még nem használtad --> ott is meg lehet ezeket valósítani és akkor megismered a lehetőségeket és a korlátokat!) !

Steve
(#) AccessDenied válasza kissi hozzászólására (») Okt 18, 2012 /
 
Valószínűleg meg tudnám írni éppen úgy is, de ez nekem most szimpatikusabb. Egyébként szerintem nem ezzel van a gond... Azt a kis számítást 4096 órajel alatt csak végre tudja hajtani, nem? Mert hogy maximum olyan gyorsan jönnek az interruptok.
(#) kissi válasza AccessDenied hozzászólására (») Okt 18, 2012 /
 
Idézet:
„Azt a kis számítást 4096 órajel alatt csak végre tudja hajtani, nem? Mert hogy maximum olyan gyorsan jönnek az interruptok.”

Ezt Te tudod, én nem használok CCS-t, fogalmam sincs milyen képletet használtál és az mire fordul ( talán szimuláld le, én úgy szoktam !)!
Ha "laboratóriumi" körülmények között jól megy ( de tényleg minden fordulaton kipróbálva! ), akkor biztos nem a programmal van gond, akkor jön a zavarszűrés a leírt módszerekkel !
Steve
(#) vicsys válasza AccessDenied hozzászólására (») Okt 18, 2012 /
 
A Fuses-ben még mindig benne van a HS és INTRC_IO is. Akkor most melyik? Nem mehet egyszerre külső kavicsról és belső oszciról is...
(#) mateakos válasza AccessDenied hozzászólására (») Okt 18, 2012 /
 
A teljes kapcsolási rajz jól jönne. (minden alkatrészt ábrázolva pontosan úgy, ahogy a valóságban össze van szerelve)
(#) AccessDenied válasza vicsys hozzászólására (») Okt 18, 2012 /
 
Már kivettem a HS-t, de mivel az INTRC_IO volt hátrébb, ezért az volt az érvényes. Most viszont terveztem neki pcb-t, amire felraktam a helyet a 20 megás kőnek. A kapcsolást is megrajzoltam.

59,37x43,5mm a panel. A kapcsolást valamiért átméretezte a rendszer 2400x900-asról.

A thermo szenzor meg a hall, meg a led, meg a 16-os sor a kijelzőnek csak kivezetések, szóval ha kicsit összelógnak az nem baj

Az lehet probléma, hogy a kijelző kasználoaton kívüli lábait nem kötöttem le a próbapanelen a GND-re?
A hozzászólás módosítva: Okt 18, 2012
(#) mateakos válasza AccessDenied hozzászólására (») Okt 18, 2012 /
 
Az ilyen vonalas rajzokat inkább png-ben töltsd fel, az veszteségesen tömörít, és ilyen nagy összefüggő egyszínű területekre ráadásul sokkal jobb arányban is, mint a jpg. Nem utolsó sorban, nem méretezi át a fórum.
(#) AccessDenied válasza mateakos hozzászólására (») Okt 18, 2012 /
 
A hozzászólásnak legalább 5 karakter hosszúnak kell lennie!png

Ezt is átméretezte... Bővebben: Link
A hozzászólás módosítva: Okt 18, 2012
(#) Hp41C válasza AccessDenied hozzászólására (») Okt 18, 2012 /
 
Szia!
Közvetlenül a pic, az LCD táplábai közé és a 7805 kimenete és a föld közé tegyél be egy-egy 100nF kerámia kondenzátort, az SMD1206 kivitel alulról odafér.
(#) AccessDenied válasza Hp41C hozzászólására (») Okt 18, 2012 /
 
Igen, az ott van a rajzokon is, sőt még tenni fogok mellé egy 10µF-os csepptantált is és egy 1000µF-os kondit is. (ott vannak sorba a pic végénél)

Na megyek, dobom a savba a nyákot. Az előbb vettem biztit, követ, egy friss 7805-t, aztán rakom össze.
A hozzászólás módosítva: Okt 18, 2012
(#) mateakos válasza AccessDenied hozzászólására (») Okt 18, 2012 /
 
A rajzon nincs MCLR felhúzóellenállás, és a FUSES-nél sincs letiltva. Valamelyiket meg kellene oldani. (ez is okozhatja a hibát, így bármilyen elektromágneses zajra reset-elhet)
A hozzászólás módosítva: Okt 18, 2012
(#) AccessDenied válasza mateakos hozzászólására (») Okt 18, 2012 /
 
Az tényleg kimaradt, de alulról felforrasztom. Majd a rev. 2-es nyákba javítom
(#) AccessDenied válasza AccessDenied hozzászólására (») Okt 18, 2012 /
 
Nyák beültetve, külső oszcillátorra (20MHz) átírva a program, és így is ugyan az a hiba. Annyi, hogy mivel a wdt ki van véve, ha a pic teljesen lefagy, akkor nem indul újra. Végül csak zavarszűrős gyertya lesz...

Jó lenne összehozni, mert már megrendeltem az átfolyás mérőt is, hogy tudjak benzinfogyasztást is mérni.
A hozzászólás módosítva: Okt 18, 2012
(#) vilmosd válasza AccessDenied hozzászólására (») Okt 18, 2012 /
 
Tedd mar fel a utolso vari progit. Ma mar nem tudok belenezni, de majd talan holnap.
A hozzászólás módosítva: Okt 18, 2012
(#) AccessDenied válasza vilmosd hozzászólására (») Okt 18, 2012 /
 
Örömmel jelentem, hogy megoldottam a problémát és szépen működik a dolog!

Mivel azt terveztem, hogy holnap megyek zavarszűrős gyertyát venni, ezért kicsit utánakerestem a dolgoknak, és egy helyen írták, hogy bizonyos gyújtásnak nem jó ha 7kohm feletti a pipa és gyertya ellenállása. Na ezután gondoltam, hogy akkor lemegyek, és kimérem, hogy vajon van-e szűrő valamelyikbe. Mérés: gyertya-120ohm, pipa+kábel-2,5Kohm, másik ugyanilyen robogónak is megmértem gyorsan, abba gyertya-160ohm, pipa-3,3K ohm. Mérés közbe észrevettem, hogy az én pipám eléggé kotyog a gyertya végén. Gondoltam, hogy akkor ott is lehet szikra, ami zavarhat, és kipróbáltam úgy, hogy lábbal finoman megnyomtam oldalra a pipámat próba alatt, és láss csodát, tökéletesen működik!

Azt azomban még nem tudom, hogy a gyújtástól fél méterre lévő elektronika és hall szenzor hogy tudja lemérni a fordulatot, de méri! Attól viszont félek, hogy ha a hőérzékelőt benyomom a henger falához, onnan nem fogja-e összeszedni ugyan ezt a zavart.

Annyit viszont még kérdeznék, hogy most az interrupt a 16f690-esem RA2 lábára jön. És azt úgy kezelem a programban, mint int_EXT. Mert hogy elvileg az a lába tud hardveres interruptot. Viszont ha még rá akarok kötni egy átfolyásmérőt, akkor hogy is kellene? Az int_EXT az az összes interruptos lábra beérkező jelre interruptol?

#int_EXT (ez a sor nem tudom mit csinál, de minden interrupt előtt van ilyen, és #int_RA2-t nem fogadja el)
void RA2_isr() {.....} (itt megírom az interrupt feladatokat)
void RB2_isr() {.....} (itt megírom az interrupt feladatokat a másik szenzorhoz)
beállítani így:
enable_interrupts(INT_RA2|INT_RB2) (INT_EXT-t nem kell beleírni?)

Egyébként persze, próbáltam levenni a szenzorokat eleinte, de nem sokat segített, ha egy távolságon belül volt a mikrokontroller, akkor meghalt. De ha kívül volt, a szenzort meg belógattam, akkor is meghalt.
A hozzászólás módosítva: Okt 18, 2012
(#) vilmosd válasza AccessDenied hozzászólására (») Okt 18, 2012 /
 
Ezekhez az #int_XXX dolgokhoz azert van leiras a helpben. Ha jol emlekszem #int_RA, #int_RB hasznalhato, es IOCA regiszterben kell kijelolni mellik labra valtson ki IT-t. Nem artana a PIC adatlapjat bovebben tanulmanyozni. Persze a C fordito helpjet is. A homerseklet erzekelot arnyekolt kabellel el tudod vinni messzire. Lenyeges hogy a MCP9700A tapra tegyel 100 nF kondit, es a kimenethez sorosan 1 1 k ellenallast, maskulonben gerjedni fog.
(#) AccessDenied válasza vilmosd hozzászólására (») Okt 18, 2012 /
 
Köszi a tanácsot. Most kezdek ráébredni, hogy igazából ha bejön egy külső interrupt, akkor ki kell olvasni, hogy melyik lábon van 1-es, vagy változás, mintha valami olyan regiszter is lenne, ami azt tartalmazza, hogy hol volt a változás, és akkor virtuálisan van interrupt bármelyik lábon. Majd behangolom amikor megjön az átfolyásmérő, addig mókázom a pipavásárlással, hőmérő árnyékolással, beépítéssel. Egyébként az adatlappal meg a helppel kelek-fekszem már vagy 4 napja... MCP9700-on és a hall szenzoron fenn van a gyári ajánlott zavarvédés, 100n és 2x4,7n+2,7k, plusz a hőmérő szenzort egy 1k-100n aluláteresztő szűrőn keresztül kötöttem be. Majd meg fogom írni, hogy kerekítsen 0,0-0,5-1,0 között, hogy ne legyen ilyen ugrálás.

Egyébként köszönöm a gyors, kitartó segítséget mindenkinek! Nagyon hálás vagyok érte.
A hozzászólás módosítva: Okt 18, 2012
(#) _vl_ válasza AccessDenied hozzászólására (») Okt 18, 2012 /
 
Azt kéne megértsed, hogy egy pár centis vezetékdarabon a motorod közelében több Voltnyi feszültség tud indukálódni. Tehát nem az MCP9700 meg a Hall-szenzor által adott jelet fogod "észlelni", hanem azt, amit a motor által kisugárzott elektromágneses zaj kelt a vezetékben. És azért hülyül meg a mikrokontrollered, mert ha a GND alá, vagy a táp fölé megy bármelyk lábán a feszültség, akkor onnantól kezdve az IC-n belül véletlenszerűen bármi megtörténhet, és meg is történik.
Nem érted, hogy a gyújtástól fél méterre hogy érzékeli a gyújtást? Hát így! Fél méternyire már csak akkora zajt kelt a vezetékekben az elektromágneses zaj, hogy az kb. akkora lesz a jel, mint amit a kontroller várna.
(#) AccessDenied válasza _vl_ hozzászólására (») Okt 18, 2012 /
 
Márpedig az a jel, amit az mcp szenzorról érzékelek, határozottan a hőmérsékletet tükrözi. Azt eddig is sejtettem, hogy a motor zaja besugároz a kapcsolásba, de vajon pontosan hol és mennyire? Lehet, hogy a bemenetekre is zenert kellene rakjak? Én azon gondolkodom, hogy vajon biztos a huzalozás szedi-e össze a zajt, vagy maga a mikrokontroller belsejében a processzor? Szenzorok nélkül is lemérte a fordulatot, pedig akkor nem volt hosszabb kábel a bemeneteken... Jó lenne egy oszcilloszkóp megmérni pár dolgot. Lehet hogy a hall szenzort fogadó bemenetre is kellene tegyek egy 1k-100n szűrőt? Viszont miden bemenet van valamerre húzva, így lehet, hogy a kábelbe indukálódna egy kevés feszültség, de annak le kellene esnie, mert az áram elfolyik a le-fel húzó ellenállásokon, és a rendszernek nincs olyan alacsony szórási induktivitása, hogy megemelje a kábelen a feszültséget. (rendszer=generátor/szikra-levegő-pic és huzalozása) Azt lehetségesnek tartanám, hogy a generátornak ekkora lehet a szórt mágneses tere, ha csak azt nézzük, hogy 1-2T nagyságrendbe lehet ott a vasba az indukció, a szenzor meg 18mT-nál már érzékel, és a váz is mágnesezhető anyagból van...
(#) AccessDenied válasza AccessDenied hozzászólására (») Okt 19, 2012 /
 
Vettem pipát, gyertyát, kábelt, árnyékolt mikrofonkábelt a szenzoroknak. A boltos megnézte, és mondta, hogy a mostani pipám már nem is jó. Beépítettem a dolgokat, szépen megy. A hőmérő szenzor a hengerfejen van, kb 4cm-re a szikraköztől, és 15cm árnyékolatlan szilikon kábel viszi a mikrofon kábelhez, és nem zavarodik be a pic. Ezek után a hall szenzort sima kábellel kötöttem be, azzal sincs semmi gond. Viszont a generátor tekercseknél nem vesz semmit, ezért először hozzáfogattam a pipa nagyfesz kábeléhez, és ott mér, viszont 2000-es fordulat felett bezavarodott, mivel vagy 8 cm hosszan hozzá volt kötegelve, utána felraktam a gyertya tövéhez, hogy a kábel kifele álljon, és jól mér. Létezne, hogy csak 3500-at forog a motor? Pár km 95km/h motorozás után 110 fokig ment fel a hőmérséklet. Mondjuk eddig nem szintetikus olajjal járt, most ürült ki az olaj tank, és most tettem bele olyat.
(#) AccessDenied válasza AccessDenied hozzászólására (») Okt 19, 2012 /
 
Vagy valahol benéztem volna egy 2-es osztást? Mert 600 körüli a mért alapjárat, és 3500 a vége, lehet, hogy 1200 és 7000 lennének a fordulatok?
(#) AccessDenied válasza AccessDenied hozzászólására (») Okt 20, 2012 /
 
Igen, most nézem, hogy egy 0 kimaradt, így a tényleges fordulat 1/10-ét mérte, viszont a timer0 a belső órajelről ment, ami a külsőnek az 1/5-e, így pont 1/2 fordulatot mért. Azt viszont nem találom, hogy a ccs-c-ben hol lehet beállítani, hogy a timer0 a külső oszcillátorról menjen.

Ennyi van a headerben:
Constants used for SETUP_TIMER_0() are:
#define T0_INTERNAL 0
#define T0_EXT_L_TO_H 32
#define T0_EXT_H_TO_L 48

#define T0_DIV_1 8
#define T0_DIV_2 0
....
#define T0_DIV_256 7

#define T0_8_BIT 0

Ha átállítom EXT_.... valamelyikre, akkor szerintem az RA2-ről fog menni. Úgy láttam, hogy az OPTION_REG 5. bitje kellene, hogy állítsa a timer0 clock sourceot.

Mondjuk assemblyre így fordítja:
.................... setup_timer_0(T0_EXT_L_TO_H|T0_DIV_4|T0_8_BIT);
0565: MOVF 01,W
0566: ANDLW C0
0567: IORLW 21
0568: MOVWF 01
Ami azt jelenti, hogy 01-es regiszterből a 6. és 7. bit az eredeti marad, viszont a 0. és az 5. bitet 1-esre rakja, ami ha a bank1-ben vagyunk, akkor az option_reg-be 4-es prescalert állít, és timer0 clock source-ot "Transition on T0CKI pin" szóval nem is kérdeztem semmit

Kicsit megzavartak ezek a dolgok, hogy az external interrupt az RA2, az interrupt RA az az egész A port interruptja, a timer0 internal sourceja a HFOSC, az externalja meg a T0CKI. Mondjuk azt nem értem, hogy miért lényeges, hogy állítható legyen az, hogy az external source fel-vagy lefutó élére léptesse a timer0-t, mert sima interruptnál fontos lehet, de a külső oszcillátornál?
A hozzászólás módosítva: Okt 20, 2012
(#) kissi válasza AccessDenied hozzászólására (») Okt 20, 2012 /
 
Idézet:
„mert sima interruptnál fontos lehet, de a külső oszcillátornál?”


Akkor is, ha szinkronban kell járnia valamivel, amihez szintén a külső oszcillátorod adja a jelet!

Steve
Következő: »»   1100 / 1320
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem