|
你这个代码居然有死等几百us ,去看看我们 人人学会单片机的代码 http://www.51hei.com/bbs/dpj-200968-1.html |
| 如果只是为了调灯的亮度,没必要设置这么高频率的PWM,中断里运行的语句越少越好。否则会破坏18b20读写时序而出错。串口通讯也要把中断方式改查询方式为好。 |
xhaity 发表于 2021-2-8 13:07 文件错误 |
justinchill 发表于 2021-2-8 08:43 加上两个空指令后 直接就错了 |
| 18b20在读写时,时序比较严格,中断以后基本上都会打乱时序,读数错误,利用crc校验, 验证数据,如果数据不正确,重新读数; |
| 我用hx711时, 发现负数的移位有可能得出错误结果(估计是编译器有差异), 使用一般加减乘除试试 |
| 有可能是你在Ds18b20ReadByte函数里总线释放的时间有些短,适当添加一点延时再试试,就是i++那里 |
| 当PWM开启时,定时器中断会扰乱18B20的延迟。 |