发现一个奇怪的问题,坛友们速来围观

2019-08-13 23:00发布

本帖最后由 余一水 于 2017-9-25 19:50 编辑
1:如果把ds18b20作为一个任务,发现打印出的温度是0.0;也就是说检测到了温度传感器,但是读出的值一直是0.0。。。起初怀疑是给ds18b20读取温度值的时间不够,但是延时1s也不行......

2:emwin任务最后面这里的while循环实际上没有用啊,开始我在里面printf(“xxx”)没有反应,根本不会执行这个while,那么怎么产生任务调度,也就是任务切换?压根没有用到osdelay()


3:如果把读取温度的函数放在main函数最开始去执行,就可以读出一个正常的温度值,猜测是ucos的系统问题,不知道问题出在哪
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
wszdxmh
1楼-- · 2019-08-14 03:16
滴达定时器每5ms就会产和一次中断,然后进入中断判断是否有高优先级的任务可以执行。这就需要时间,就可以打断你DS18B20的时序。附上我的帖子:http://www.openedv.com/forum.php ... d=100068&extra=
余一水
2楼-- · 2019-08-14 04:58
wszdxmh 发表于 2017-9-25 20:06
滴达定时器每5ms就会产和一次中断,然后进入中断判断是否有高优先级的任务可以执行。这就需要时间,就可以 ...

非常感谢坛友,多谢多谢
余一水
3楼-- · 2019-08-14 05:40
 精彩回答 2  元偷偷看……
旺仔奶豆
4楼-- · 2019-08-14 09:49
围观 围观

一周热门 更多>