Timere og avbrudd¶
Læringsmål
Forstå timer/counter, prescaler, compare match, interrupt-vektorer og hvorfor interruptdrevet firmware skiller seg fra polling.
Fra CPU-klokke til tid¶
En timer teller klokkehendelser. En prescaler reduserer tellefrekvensen slik at nyttige tidsintervaller kan representeres.
Regn alltid ut sammenhengen mellom F_CPU, prescaler, tellerområde og ønsket periode.
Interrupts¶
Et interrupt lar maskinvaren avbryte normal programflyt og kjøre en interrupt service routine (ISR). ISR-en bør normalt gjøre minst mulig arbeid.
Prøv selv¶
Konfigurer en timer compare match og observer i simulatoren at ISR-en nås. Sammenlign deretter med en polling-variant.
Forventet resultat
Du kan forklare timerkonfigurasjonen og vise modellert kontrollflyt gjennom interrupt-vektoren.
Kvalifikasjon¶
Q1 kan dokumentere registerkonfigurasjon og modellert timer/interrupt-oppførsel. Q2 kreves for fysiske timingmålinger og elektriske signaler.
Sjekk forståelsen¶
- Hva gjør en prescaler?
- Hvorfor bør en ISR være kort?
- Hva kan simulatoren ikke bevise om et fysisk timersignal?
Neste
Fortsett til PWM.