Naze32 clone with Frysky receiver
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

timer.c 513B

123456789101112131415161718192021222324252627
  1. /*
  2. * Time-Keeping helper
  3. */
  4. #include <avr/io.h>
  5. #include <avr/interrupt.h>
  6. #include "timer.h"
  7. volatile time_t systemTime = 0;
  8. void timerInit(void) {
  9. // Using 8bit Timer1
  10. TCCR1 |= (1 << CTC1); // CTC Mode
  11. TCCR1 |= (1 << CS12) | (1 << CS11) | (1 << CS10); // Prescaler: 64
  12. OCR1A = 250; // Count to 250
  13. TIMSK |= (1 << OCIE1A); // Enable compare match interrupt
  14. }
  15. ISR(TIMER1_COMPA_vect) {
  16. systemTime++; // one millisecond has passed
  17. }
  18. time_t timerGet(void) {
  19. return systemTime;
  20. }