Page 1 of 1

为什么S3的定时器 autoreload 只能autoreload 一次

Posted: Sat Apr 22, 2023 4:37 pm
by QbasicJacky
我定义 定时器组0 定时器0 auotoreload 模式 alarm 为 5秒,不打开定时器中断
并且利用freeRtOS 每隔1秒 获取 定时器数数脉冲 进行打印
在第一循环中
定时器的配置如下
#define TIMER_RESOLUTION_HZ 10000
timer_config_t config = {
.clk_src = TIMER_SRC_CLK_DEFAULT,
.divider = APB_CLK_FREQ / TIMER_RESOLUTION_HZ,
.counter_dir = TIMER_COUNT_UP,
.counter_en = TIMER_PAUSE,
.alarm_en = TIMER_ALARM_EN,
.auto_reload = TIMER_AUTORELOAD_EN,
};
timer_init(0, 0, &config);
timer_set_counter_value(0, 0, 0);
timer_set_alarm_value(group, timer, TIMER_RESOLUTION_HZ*10);

打印的数据
Hello world!
tiemr:9971
tiemr:19971
tiemr:29971
tiemr:39971
tiemr:49971
tiemr:9971 这里数据开始惟一 一次 reload
tiemr:19971
tiemr:29971
tiemr:39971
tiemr:49971
tiemr:59971
tiemr:69971
tiemr:79971
tiemr:89971
tiemr:99971
tiemr:109971
tiemr:119971

Re: 为什么S3的定时器 autoreload 只能autoreload 一次

Posted: Tue Apr 25, 2023 3:55 am
by QbasicJacky
原来报警位 每次报警后 会自动清零,要重新置位
这个 autoreload 功能被报警位一搞 有点鸡肋了