Added set prescaler and set repetition counter functions to timer.
This commit is contained in:
parent
92edc113f9
commit
d40fb96fcf
@ -124,9 +124,6 @@ void tim_setup(void)
|
|||||||
/* Reset TIM1 peripheral */
|
/* Reset TIM1 peripheral */
|
||||||
timer_reset(TIM1);
|
timer_reset(TIM1);
|
||||||
|
|
||||||
/* Clock division. */
|
|
||||||
timer_set_clock_division(TIM1, TIM_CR1_CKD_CK_INT);
|
|
||||||
|
|
||||||
/* Timer global mode:
|
/* Timer global mode:
|
||||||
* - No divider
|
* - No divider
|
||||||
* - alignment edge
|
* - alignment edge
|
||||||
@ -136,6 +133,12 @@ void tim_setup(void)
|
|||||||
TIM_CR1_CMS_EDGE,
|
TIM_CR1_CMS_EDGE,
|
||||||
TIM_CR1_DIR_UP);
|
TIM_CR1_DIR_UP);
|
||||||
|
|
||||||
|
/* Reset prescaler value. */
|
||||||
|
timer_set_prescaler(TIM1, 0);
|
||||||
|
|
||||||
|
/* Reset repetition counter value. */
|
||||||
|
timer_set_repetition_counter(TIM1, 0);
|
||||||
|
|
||||||
/* Enable preload. */
|
/* Enable preload. */
|
||||||
timer_enable_preload(TIM1);
|
timer_enable_preload(TIM1);
|
||||||
|
|
||||||
|
@ -883,6 +883,8 @@ void timer_enable_compare_control_update_on_trigger(u32 timer_peripheral);
|
|||||||
void timer_disable_compare_control_update_on_trigger(u32 timer_peripheral);
|
void timer_disable_compare_control_update_on_trigger(u32 timer_peripheral);
|
||||||
void timer_enable_preload_complementry_enable_bits(u32 timer_peripheral);
|
void timer_enable_preload_complementry_enable_bits(u32 timer_peripheral);
|
||||||
void timer_disable_preload_complementry_enable_bits(u32 timer_peripheral);
|
void timer_disable_preload_complementry_enable_bits(u32 timer_peripheral);
|
||||||
|
void timer_set_prescaler(u32 timer_peripheral, u32 value);
|
||||||
|
void timer_set_repetition_counter(u32 timer_peripheral, u32 value);
|
||||||
void timer_set_period(u32 timer_peripheral, u32 period);
|
void timer_set_period(u32 timer_peripheral, u32 period);
|
||||||
void timer_enable_oc_clear(u32 timer_peripheral, enum tim_oc_id oc_id);
|
void timer_enable_oc_clear(u32 timer_peripheral, enum tim_oc_id oc_id);
|
||||||
void timer_disable_oc_clear(u32 timer_peripheral, enum tim_oc_id oc_id);
|
void timer_disable_oc_clear(u32 timer_peripheral, enum tim_oc_id oc_id);
|
||||||
|
@ -253,6 +253,19 @@ void timer_disable_preload_complementry_enable_bits(u32 timer_peripheral)
|
|||||||
TIM_CR2(timer_peripheral) &= ~TIM_CR2_CCPC;
|
TIM_CR2(timer_peripheral) &= ~TIM_CR2_CCPC;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void timer_set_prescaler(u32 timer_peripheral, u32 value)
|
||||||
|
{
|
||||||
|
TIM_PSC(timer_peripheral) = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
void timer_set_repetition_counter(u32 timer_peripheral, u32 value)
|
||||||
|
{
|
||||||
|
if ((timer_peripheral == TIM1) ||
|
||||||
|
(timer_peripheral == TIM8)) {
|
||||||
|
TIM_RCR(timer_peripheral) = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void timer_set_period(u32 timer_peripheral, u32 period)
|
void timer_set_period(u32 timer_peripheral, u32 period)
|
||||||
{
|
{
|
||||||
TIM_ARR(timer_peripheral) = period;
|
TIM_ARR(timer_peripheral) = period;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user