现在大家用DS18B20都是用裸机跑的,但是同样的程序放到UCOSIII里面就跑不起来。为什么呢?
ucos ii是怎么实现多任务运行的?(知乎)这是我写的答案,写的是UCOSIII的。正好最近要用到,然后我在论坛找了一下还没有,所以我就花了点时间,把他移植到我的UCOSIII里面了。主要是延时的问题,这时候我们要用到逻辑分析仪去抓时序。我们要写一个软件延时,因为如果我们用滴答定时器,很有可能会引起任务调度,从而打断时序。DS18B20对时序的要求还是比较高的。下面是我用逻辑分析仪调试出来的延时:
一个延时2微秒,然后替换DS18B20里面的延时,这是串口打印输出:
STM32F103C8T6Model-UCOSIII.zip
(657.86 KB, 下载次数: 694)
2017-4-22 13:50 上传
点击文件名下载附件
太感谢你了。用您的程序,成功了,我怀疑是延时函数出了问题。
建议用逻辑分析仪抓一下波形,这样你就知道是什么问题了
没有这个设备啊,哎,干脆换LM75吧,IIC的
一周热门 更多>