Picaxe 08M2 časovač

Dneska se procesory objevují všude, pokud máte nějaký nápad, či udělát, tak se neváhejte pochlubit.
Zpráva
Autor
Uživatelský avatar
igorb
Příspěvky: 4986
Registrován: čtv 22.03.2007 0:00
Bydliště: SK Bratislava

Re: Picaxe 08M2 časovač

#46 Příspěvek od igorb »

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
Uživatelský avatar
jyrry
Příspěvky: 22020
Registrován: pon 28.02.2005 0:00
Bydliště: Rakovník
Kontaktovat uživatele:

Re: Picaxe 08M2 časovač

#47 Příspěvek od jyrry »

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 ... ;-)
jyrry.webnode.cz
Uživatelský avatar
igorb
Příspěvky: 4986
Registrován: čtv 22.03.2007 0:00
Bydliště: SK Bratislava

Re: Picaxe 08M2 časovač

#48 Příspěvek od igorb »

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
Uživatelský avatar
jyrry
Příspěvky: 22020
Registrován: pon 28.02.2005 0:00
Bydliště: Rakovník
Kontaktovat uživatele:

Re: Picaxe 08M2 časovač

#49 Příspěvek od jyrry »

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
Uživatelský avatar
igorb
Příspěvky: 4986
Registrován: čtv 22.03.2007 0:00
Bydliště: SK Bratislava

Re: Picaxe 08M2 časovač

#50 Příspěvek od igorb »

no az na ten if co tam nevidim :-)))
Uživatelský avatar
jyrry
Příspěvky: 22020
Registrován: pon 28.02.2005 0:00
Bydliště: Rakovník
Kontaktovat uživatele:

Re: Picaxe 08M2 časovač

#51 Příspěvek od jyrry »

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 ... :-))))
jyrry.webnode.cz
BlackJack220
Příspěvky: 7
Registrován: ned 15.04.2012 17:24
Bydliště: Plzeň

Re: Picaxe 08M2 časovač

#52 Příspěvek od BlackJack220 »

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".
Odpovědět

Zpět na „Procesory a jiné vychytávky“