Simple timer event example
3 berichten
• Pagina 1 van 1
Simple timer event example
De mikromedia 5 for TIVA is erg kompleet vind ik zelf. Toegegeven, ik heb nog nooit een ander bordje in mijn handen gehad. Maar je kan zo gek niet bedenken of het zit erop.
Nu is het de kunst om e.e.a. aan de praat te krijgen.
Het scherm moet na 60 seconden inactiviteit gaan slapen. Daarmee bedoel ik dat het scherm zwart moet worden.
Als het weer wordt aangeraakt moet die weer oplichten.
Dat zwart worden en oplichten werkt. Nu moet ik een timer instellen dat die na 60 seconden dat commando geeft.
Het probleem is die 60 seconden.
In de helpfile vond ik dit voorbeeld voor een timer:
Ik ben op zoek naar de plaats waar ik die 60 seconden in kan stellen.
En waar zet ik de GotoSleep(); routine in de Timer0A_interrupt() of ergens anders?
Thx!
Guus
Nu is het de kunst om e.e.a. aan de praat te krijgen.
Het scherm moet na 60 seconden inactiviteit gaan slapen. Daarmee bedoel ik dat het scherm zwart moet worden.
Als het weer wordt aangeraakt moet die weer oplichten.
Dat zwart worden en oplichten werkt. Nu moet ik een timer instellen dat die na 60 seconden dat commando geeft.
Het probleem is die 60 seconden.
In de helpfile vond ik dit voorbeeld voor een timer:
- Code: Alles selecteren
void Timer0A_interrupt() iv IVT_INT_TIMER0A ics ICS_OFF {
TIMER_ICR_TATOCINT_bit = 1; // Clear time-out timer A interrupt
GPIO_PORTJ_DATA = ~GPIO_PORTJ_DATA; // Toggle GPIO_PORTJ led's
}
void main() {
GPIO_Digital_Output(&GPIO_PORTJ, _GPIO_PINMASK_ALL); // Enable digital output on GPIO_PORTJ
GPIO_PORTJ_DATA = 0;
SYSCTL_RCGC1_TIMER0_bit = 1; // Enable clock gating for timer module 0
EnableInterrupts(); // Enables the processor interrupt.
TIMER_CTL_TAEN_bit = 0; // Disable timer
TIMER0_CFG = 0; // Set 32-bit timer configuration
TIMER0_TAMR |= 2; // Set periodic mode
TIMER0_TAILR = Get_Fosc_kHz()*1000; // Set interval load
NVIC_IntEnable(IVT_INT_TIMER0A); // Enable timer interrupt
TIMER_IMR_TATOIM_bit = 1; // Enable time-out timer A interrupt
TIMER_CTL_TAEN_bit = 1; // Enable timer A
while(1) ;
}
Ik ben op zoek naar de plaats waar ik die 60 seconden in kan stellen.
En waar zet ik de GotoSleep(); routine in de Timer0A_interrupt() of ergens anders?
Thx!
Guus
Advertisement
Re: Simple timer event example
dit is geen arduino taal maar processor C, en dus maak je het jezelf nogal moeilijk
kijk eerst maar eens hoe jouw programma gedaan wordt in arduino, met interupt.
de compiler van arduino maakt er inderdaad zoiets van zoals jij schrijft, en daarna de hexcode.
de waarde moet staan in TIMER0_TAILR dus jij schrijft daar 120.000.000 dan krijg je elke seconde een interupt.
in de interupt worden een paar ledjes getoggled hierboven
jij zult dan tot 60 moeten tellen en dan je scherm uitzetten.
kijk eerst maar eens hoe jouw programma gedaan wordt in arduino, met interupt.
de compiler van arduino maakt er inderdaad zoiets van zoals jij schrijft, en daarna de hexcode.
de waarde moet staan in TIMER0_TAILR dus jij schrijft daar 120.000.000 dan krijg je elke seconde een interupt.
in de interupt worden een paar ledjes getoggled hierboven
jij zult dan tot 60 moeten tellen en dan je scherm uitzetten.
paul deelen
shooter@home.nl
shooter@home.nl
Re: Simple timer event example
Hoi Shooter,
Ik heb het programma werkend gekregen.
De timer loopt en loopt en loopt...
Nu moet ik de timer nog stoppen.
Maar bedankt zover!
Grtz.
Ik heb het programma werkend gekregen.
De timer loopt en loopt en loopt...
Nu moet ik de timer nog stoppen.
Maar bedankt zover!
Grtz.
3 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 36 gasten