发新帖我要提问
12
返回列表
打印
[其他ST产品]

STM8的TIM4精确延时问题

[复制链接]
楼主: elephant00
手机看帖
扫描二维码
随时随地手机跟帖
21
void delay_us(uint16_t us) {
    uint16_t cnt = 0;
    TIM4_SetCounter(0); //将计数器清零
    TIM4_Cmd(ENABLE); //使能TIM4定时器
    while(cnt < us) {
        if(TIM4_GetFlagStatus(TIM4_FLAG_UPDATE) == SET) { //判断是否发生更新事件
            TIM4_ClearFlag(TIM4_FLAG_UPDATE); //清除更新标志位
            cnt++; //更新计数器
        }
    }
    TIM4_Cmd(DISABLE); //关闭TIM4定时器
}

使用特权

评论回复
22
Belle1257| | 2023-6-14 14:06 | 只看该作者
第一毫秒你也用不上吧,一般都是每次使用都要重置的

使用特权

评论回复
23
LLGTR| | 2023-6-17 13:13 | 只看该作者
Henryko 发表于 2023-6-12 21:34
那有什么办法可以避免吗?

1ms影响不大吧?对你应用影响很大?

使用特权

评论回复
24
AloneKaven| | 2023-6-17 22:41 | 只看该作者
不要在中断里执行太耗时的程序

使用特权

评论回复
25
Jacquetry| | 2023-6-18 23:03 | 只看该作者
可不可以想办法滤掉第一个信号啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则