主题中讨论的其他器件:SysConfig
您好!
我使用两个计时器、如快照中所示。
Timer_close() API 似乎没有正确地重置计时器计数。 因此,使用新的周期值调用 Timer_start()似乎不会生效(回调函数未被调用)。
例如、以下是用于初始化计时器1的代码:
void timer_1_init (uint32_t period_us)
{
int32_t STATUS = 0;
Timer_1_flag = 0;
Timer_Params_(&TIMER_1_PARAMS);
Timer_1_params.periodUns = Timer_period_US;
Timer_1_params.period = period_us;
Timer_1_params.timerMode = Timer_OneShot 回调;
Timer_1_params.timerCallback = timer_1_callbackfunction;
Timer_init();
Timer_1_Handle = Timer_open (CONFIG_TIMER_1、&TIMER_1_PARAMS);
if (timer_1_handle == NULL){
// Timer_open()失败
while (1);
}
}
下面是使用新周期值关闭和重新启动计时器(在状态机内)的代码片段:
Timer_1_flag = 0;
Timer_close (timer_1_handle);
Timer_1_init (TIMESTAMP_START_TX);
Timer_start (timer_1_handle);
(1)请检查代码片段,并告诉我是否有任何问题。
(2)如何通过硬件寄存器地址访问计时器1以复位计数器?
谢谢
卡尔蒂克




