Fixed timer.c and timer.h.

This commit is contained in:
mb 2018-04-04 11:51:21 +02:00
parent 4b4f451024
commit 5d550a0121
3 changed files with 10 additions and 8 deletions

View File

@ -31,10 +31,11 @@ void timer_reset(void)
highBits64 = 0; highBits64 = 0;
} }
ISR(TIMER1_OVF_vect) // ISR(TIMER1_OVF_vect)
void timer_overflow(void)
{ {
highBits32 += 0x01 00 00 00; highBits32 += 0x01000000;
highBits64 += 0x00 00 00 00 01 00 00 00; highBits64 += 0x0000000001000000;
} }
uint32_t timer_now32(void) uint32_t timer_now32(void)
@ -49,4 +50,4 @@ uint64_t timer_now64(void)
uint64_t lowBits = TCNT0; uint64_t lowBits = TCNT0;
uint64_t middleBits = TCNT1; uint64_t middleBits = TCNT1;
return highBits64 | (middleBits<<8) | lowBits; return highBits64 | (middleBits<<8) | lowBits;
} }

View File

@ -7,8 +7,9 @@
void timer_init(void); void timer_init(void);
void timer_reset(void); void timer_reset(void);
void timer_overflow(void);
ISR(TIMER1_OVF_vect); // ISR(TIMER1_OVF_vect);
uint32_t timer_now32(void); uint32_t timer_now32(void);
uint64_t timer_now64(void); uint64_t timer_now64(void);
@ -19,4 +20,4 @@ uint64_t timer_now64(void);
uint32_t volatile highBits32; // max: ~214.7483648s uint32_t volatile highBits32; // max: ~214.7483648s
uint64_t volatile highBits64; // max: ~29247a uint64_t volatile highBits64; // max: ~29247a
#endif #endif

View File

@ -19,7 +19,7 @@
| TCCRnA_COMnB_toggle \ | TCCRnA_COMnB_toggle \
| TCCRnA_COMnB_low \ | TCCRnA_COMnB_low \
| TCCRnA_COMnB_high ) | TCCRnA_COMnB_high )
#define TCCRnB_CSn_CLEAR ~ 0x07
// Timer/CounterN Interrupt Mask Register // Timer/CounterN Interrupt Mask Register
#define TIMSKn_ENABLE_INTERRUPT_on_nothing 0x00 #define TIMSKn_ENABLE_INTERRUPT_on_nothing 0x00
#define TIMSKn_ENABLE_INTERRUPT_on_overflow 0x01 #define TIMSKn_ENABLE_INTERRUPT_on_overflow 0x01
@ -120,4 +120,4 @@
#define TIMSK2_ENABLE_INTERRUPT_on_compare_match_A 0x02 #define TIMSK2_ENABLE_INTERRUPT_on_compare_match_A 0x02
#define TIMSK2_ENABLE_INTERRUPT_on_compare_match_B 0x04 #define TIMSK2_ENABLE_INTERRUPT_on_compare_match_B 0x04
#endif #endif