liuhailan5757 发表于 2020-7-17 13:29

主程序delay和定时器的冲突

主程序中有一个delay(20us),如果不开定时器中断,主程序里的20uS非常准。但是只要一开定时器,20uS就不准了。请问各位工程师,是怎么解决这个矛盾的。比如在IIC通讯时,一开定时器中断,通讯的时序就必定会错误,通讯就会失败。有些人就会说通讯时停止定时器,但是停止定时器,那定时器计时就不准了。

〽️〽️〽️ 发表于 2020-7-17 13:33

你的定时器不会是1us? 间隔吧? 弄个1ms的的定时器 就不会有影响了

liuhailan5757 发表于 2020-7-17 13:42

〽️〽️〽️ 发表于 2020-7-17 13:33
你的定时器不会是1us? 间隔吧? 弄个1ms的的定时器 就不会有影响了

我定时器用来解码红外遥控,1ms不行,您这个思路我也试过。实在想不通那么多通讯是怎样不受干扰的。现在的案子就是,红外遥控控制LED灯串(内置IC的那种也要通讯的),遥控器变化一次要把当前的LED亮度模式存入24C02。特别是LED的数据 是实时在刷新的,现在我写的只要一解码遥控器,LED就会卡顿一下。

qinlu123 发表于 2020-7-17 15:29

定时器影响IIC我是想不通,IIC是同步通信啊怎么会受影响。如果是DS18B20这种单总线时序会受定时器影响还说地通。这还是程序结构有问题,比如中断服务函数占用时间太多程序中有阻塞。
页: [1]
查看完整版本: 主程序delay和定时器的冲突