pokial to IMPULS vyrobi 2ms inpulz pre servo a ta rutina to robi aktivnym cakanim, teda aj tie 2 ms trva, tak je klasicky pripad ako prist o prerusenia ... co teba neserie lebo robis len tu jednu cinnost ale vo vecsej aplikacii to tak nepojde
problem je v tom ze netusis co ten basic v tom preruseni urobi ... preto som nazoru nepouzivat taketo nedokumentovane kompilatory, tie su dobre len na jednoduche veci ... v kazdom pripade vnutorne to funguje takto:
When an interrupt is serviced:
• The GIE is cleared to disable any further interrupt.
• The return address is pushed onto the stack.
• The PC is loaded with 0004h.
Once in the Interrupt Service
Routine, the source(s) of the interrupt can be
determined by polling the interrupt flag bits. The
interrupt flag bit(s) must be cleared in software before
re-enabling interrupts to avoid multiple interrupt
requests.
The Return from Interrupt instruction, RETFIE, exits
the interrupt routine, as well as sets the GIE bit, which
re-enables unmasked interrupts.
takze spravny postuje, ze sa povolia prislusne zdroje preruseni, povoli sa globalne prerusenie
az nastane prerusenie, jeho adresa ide do hardveroveho zasobnia a prerusenia sa globalne zakazu, potom je cas na uchovanie stavu procesora do softveroho zasobnika (robi kompilator)
ocekuju sa VSETKY (moze ich byt viac) zdroje preruseni a prislusne sa obsluzia
znovupovolia sa prislusne zdroje
urobi restauracia stavu procesora zo zasobnika a urobi sa navrat z procedury funkciou RETFIE (cele robi kompilator) cim sa znovupovoli globalne prerusenie
... pokial je obsluha prilis dlha, je treba pametat na to ze pocas obsluhy moze nastat dalsie prerusenie, ktore ale nebude mat za nasledok volanie ISR, lebo je globalne zakazane, preto treba s takym pripadom pocitat ... napriklad znovuocekovanim vsetkych zdrojov
Picaxe 08M2 časovač
Re: Picaxe 08M2 časovač
to moje preruseni se zatim spousti jen kazdych 20ms, tak je casu hafo.. :-)
takze kdyz pri preruseni jen spustim timer0, vratim se a budu mit povolene preruseni od timer0, muzu jim ukoncit vystupni impulz .... tedy v obsluze preruseni nasazim if-then a podle toho ktere preruseni nastane, vyberu si cinnost ... namet na pristi tyden, to mam nocni ... ;-)
takze kdyz pri preruseni jen spustim timer0, vratim se a budu mit povolene preruseni od timer0, muzu jim ukoncit vystupni impulz .... tedy v obsluze preruseni nasazim if-then a podle toho ktere preruseni nastane, vyberu si cinnost ... namet na pristi tyden, to mam nocni ... ;-)
jyrry.webnode.cz
Re: Picaxe 08M2 časovač
ked mas zdrojov viac, tak musis zistit ktore nastalo, jasne ... a potom ked ho vybavis, musis ho znovu odmaskovat, ked mas len jeden timer ako v tvojom casovaci, je to jednoduche
Re: Picaxe 08M2 časovač
igorb píše:.... znovu odmaskovat, ked mas len jeden timer ako v tvojom casovaci, je to jednoduche
settimer:
T1CON.0 = 0 ; zastaveni tmr1
PIR1.0 = 0 ; nulovani priznaku preruseni od tmr1
TMR1L = tim20.byte0 ; nastaveni registru tmr1
TMR1H = tim20.byte1
T1CON.0 = 1 ; rozbeh tmr1
return
impuls: ; servoimpulz
if plyn < userms then plyn = plyn + krok
if plyn > zero then plyn = plyn - krok1
gpio.1 = 1
pauseus plyn - 10
gpio.1 = 0
return
asi tak nejak ? Pouzivam oba casovace.
jyrry.webnode.cz
Re: Picaxe 08M2 časovač
no az na ten if co tam nevidim
))
Re: Picaxe 08M2 časovač
neee, jeste to nemam, to ma souvislost s tou obsluhou preruseni co jsem daval ...
asi si s tim jeste pohraju, vytaci mne ze ramec se v behu programu hybe 19,98ms - 20,02ms ... :-))))
asi si s tim jeste pohraju, vytaci mne ze ramec se v behu programu hybe 19,98ms - 20,02ms ... :-))))
jyrry.webnode.cz
-
BlackJack220
- Příspěvky: 7
- Registrován: ned 15.04.2012 17:24
- Bydliště: Plzeň
Re: Picaxe 08M2 časovač
Koudy píše:Nemáte někdo nějaké schéma jak by to mělo vypadat? Na netu toho moc není. A když tak vše je na 08M a já mám už 08M2, jinak myslím používá nožky.
To schéma pro 08M můžeš použít. Alespoň v tomhle případě bude 08M2 fungovat stejně. Základní funkce jsou stejné, 08M2 má jen víc možností jak využít vstupy. Kdyžtak se podívej do manuálu "PICAXE Manual1 - Getting Started" část "At a glance - pinout diagrams".