Added get flag and get counter functions to timer. Allow proper interrupt handling and recording timer counter values.
This commit is contained in:
parent
d40fb96fcf
commit
c7587f11ec
@ -855,6 +855,7 @@ enum tim_oc_mode {
|
|||||||
void timer_reset(u32 timer_peripheral);
|
void timer_reset(u32 timer_peripheral);
|
||||||
void timer_enable_irq(u32 timer_peripheral, u32 irq);
|
void timer_enable_irq(u32 timer_peripheral, u32 irq);
|
||||||
void timer_disable_irq(u32 timer_peripheral, u32 irq);
|
void timer_disable_irq(u32 timer_peripheral, u32 irq);
|
||||||
|
bool timer_get_flag(u32 timer_peripheral, u32 flag);
|
||||||
void timer_clear_flag(u32 timer_peripheral, u32 flag);
|
void timer_clear_flag(u32 timer_peripheral, u32 flag);
|
||||||
void timer_set_mode(u32 timer_peripheral, u8 clock_div,
|
void timer_set_mode(u32 timer_peripheral, u8 clock_div,
|
||||||
u8 alignment, u8 direction);
|
u8 alignment, u8 direction);
|
||||||
@ -915,5 +916,6 @@ void timer_set_disabled_off_state_in_idle_mode(u32 timer_peripheral);
|
|||||||
void timer_set_break_lock(u32 timer_peripheral, u32 lock);
|
void timer_set_break_lock(u32 timer_peripheral, u32 lock);
|
||||||
void timer_set_deadtime(u32 timer_peripheral, u32 deadtime);
|
void timer_set_deadtime(u32 timer_peripheral, u32 deadtime);
|
||||||
void timer_generate_event(u32 timer_peripheral, u32 event);
|
void timer_generate_event(u32 timer_peripheral, u32 event);
|
||||||
|
u32 timer_get_counter(u32 timer_peripheral);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -104,6 +104,16 @@ void timer_disable_irq(u32 timer_peripheral, u32 irq)
|
|||||||
TIM_DIER(timer_peripheral) &= ~irq;
|
TIM_DIER(timer_peripheral) &= ~irq;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool timer_get_flag(u32 timer_peripheral, u32 flag)
|
||||||
|
{
|
||||||
|
if (((TIM_SR(timer_peripheral) & flag) != 0) &&
|
||||||
|
((TIM_DIER(timer_peripheral) & flag) != 0)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
void timer_clear_flag(u32 timer_peripheral, u32 flag)
|
void timer_clear_flag(u32 timer_peripheral, u32 flag)
|
||||||
{
|
{
|
||||||
TIM_SR(timer_peripheral) &= ~flag;
|
TIM_SR(timer_peripheral) &= ~flag;
|
||||||
@ -929,3 +939,8 @@ void timer_generate_event(u32 timer_peripheral, u32 event)
|
|||||||
{
|
{
|
||||||
TIM_EGR(timer_peripheral) |= event;
|
TIM_EGR(timer_peripheral) |= event;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u32 timer_get_counter(u32 timer_peripheral)
|
||||||
|
{
|
||||||
|
return TIM_CNT(timer_peripheral);
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user