现在大家用DS18B20都是用裸机跑的,但是同样的程序放到UCOSIII里面就跑不起来。为什么呢?
ucos ii是怎么实现多任务运行的?(知乎)这是我写的答案,写的是UCOSIII的。正好最近要用到,然后我在论坛找了一下还没有,所以我就花了点时间,把他移植到我的UCOSIII里面了。主要是延时的问题,这时候我们要用到逻辑分析仪去抓时序。我们要写一个软件延时,因为如果我们用滴答定时器,很有可能会引起任务调度,从而打断时序。DS18B20对时序的要求还是比较高的。下面是我用逻辑分析仪调试出来的延时:
一个延时2微秒,然后替换DS18B20里面的延时,这是串口打印输出:
STM32F103C8T6Model-UCOSIII.zip
(657.86 KB, 下载次数: 694)
2017-4-22 13:50 上传
点击文件名下载附件
哦,自动解挂,这词用得好.是的.调用系统延时函数.就可以指定挂起的时间,时间到了自动解挂.
你好,我用的也是F103C8T6,DS18B20串口输出一直是FF,不知道怎么回事,用的是原子哥MINI板的程序,您那儿有C8T6的DS18B20程序么,希望能帮我解决一下,谢谢,研究好几天了
一周热门 更多>