Embedded systemen en firmware

Een klok van 16 MHz wordt door een prescaler door 16 gedeeld en daarmee telt een timer; de timer is zo ingesteld dat bij elke 1000 tellen een interrupt optreedt. Wat is het interval tussen de interrupts?

  1. A1 µs
  2. B1 ms
  3. C16 ms
Antwoord en toelichting tonen

Antwoord: B. 1 ms

16 MHz gedeeld door 16 geeft een timerklok van 1 MHz, dus één tel is 1 µs. Bij elke 1000 tellen is het interval 1 µs × 1000 = 1 ms. De prescaler dient om een te snelle klok te delen, zodat die binnen het bereik valt waarin de timer kan tellen. Een interrupt elke 1 ms wordt veel gebruikt voor tijdbeheer, het uitlezen van schakelaars en de tijdstap van een RTOS.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Embedded systemen en firmware

  1. Bij een PWM-signaal met een periode van 1000 tellen staat de uitgang slechts gedurende 250 tellen van elke periode op 1 (High). Wat is de dutycycle?
  2. Welke methode wordt bij microcontrollers veel gebruikt om de helderheid van een LED of het toerental van een motor te regelen?
  3. Wat is de juiste toepassing van de input-capturefunctie van een timer in een microcontroller?
  4. Wat moet in een interrupthandler het meest worden vermeden?
  5. Wanneer het bovenstaande programma met optimalisatie wordt gecompileerd, wordt led_on() soms niet aangeroepen, ook al treedt de timerinterrupt op. Welke combinatie van oorzaak en tegenmaatregel is juist?

Vergelijkingen bij dit onderwerp