OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8755|回复: 13

分享我的UCOSIII移植成功DS18B20

[复制链接]

25

主题

281

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2504
金钱
2504
注册时间
2015-8-17
在线时间
383 小时
发表于 2017-4-22 13:51:39 | 显示全部楼层 |阅读模式
现在大家用DS18B20都是用裸机跑的,但是同样的程序放到UCOSIII里面就跑不起来。为什么呢?ucos ii是怎么实现多任务运行的?(知乎)这是我写的答案,写的是UCOSIII的。正好最近要用到,然后我在论坛找了一下还没有,所以我就花了点时间,把他移植到我的UCOSIII里面了。主要是延时的问题,这时候我们要用到逻辑分析仪去抓时序。我们要写一个软件延时,因为如果我们用滴答定时器,很有可能会引起任务调度,从而打断时序。DS18B20对时序的要求还是比较高的。下面是我用逻辑分析仪调试出来的延时:
微信截图_20170422120852.png
一个延时2微秒,然后替换DS18B20里面的延时,这是串口打印输出:
微信截图_20170422121321.png
STM32F103C8T6Model-UCOSIII.zip (657.86 KB, 下载次数: 874)
做事的原则:
1.每个问题重复三遍、研究三遍后再提问,直接得到答案的人什么都没学会。
2.做事要有始有终,感谢那些帮助自己解决问题的人,把解决的方法总结起来。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6661
金钱
6661
注册时间
2016-5-29
在线时间
909 小时
发表于 2017-4-22 14:08:33 | 显示全部楼层
会用逻辑分析了.应该是个高手.程序写得不错.可OS的任务调试等高级可能没有发挥出来.等待DS18B20转换完成 时,最好挂起任务一段时间.约为750MS.
回复 支持 反对

使用道具 举报

25

主题

281

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2504
金钱
2504
注册时间
2015-8-17
在线时间
383 小时
 楼主| 发表于 2017-4-22 14:43:15 | 显示全部楼层
操作系统 发表于 2017-4-22 14:08
会用逻辑分析了.应该是个高手.程序写得不错.可OS的任务调试等高级可能没有发挥出来.等待DS18B20转换完成 时 ...

我把自己的很多任务和程序都删掉了,只上传了一个跑温度的。另外,如果掉用了挂起函数会自动解挂吗?还是要用别人任务去解挂?
做事的原则:
1.每个问题重复三遍、研究三遍后再提问,直接得到答案的人什么都没学会。
2.做事要有始有终,感谢那些帮助自己解决问题的人,把解决的方法总结起来。
回复 支持 反对

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6661
金钱
6661
注册时间
2016-5-29
在线时间
909 小时
发表于 2017-4-22 15:32:12 | 显示全部楼层
wszdxmh 发表于 2017-4-22 14:43
我把自己的很多任务和程序都删掉了,只上传了一个跑温度的。另外,如果掉用了挂起函数会自动解挂吗?还是 ...

哦,自动解挂,这词用得好.是的.调用系统延时函数.就可以指定挂起的时间,时间到了自动解挂.
回复 支持 反对

使用道具 举报

25

主题

281

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2504
金钱
2504
注册时间
2015-8-17
在线时间
383 小时
 楼主| 发表于 2017-4-25 12:51:44 | 显示全部楼层
刚才我又在其他板子上跑了一下,发现跑不起来。延时又有点变化。我又用逻辑分析仪调了一下,所以用不了的话可以调一下我的延时Delay_us()里面那个参数,我改成了12就行了。不同的板子晶振有一定的误差
做事的原则:
1.每个问题重复三遍、研究三遍后再提问,直接得到答案的人什么都没学会。
2.做事要有始有终,感谢那些帮助自己解决问题的人,把解决的方法总结起来。
回复 支持 反对

使用道具 举报

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2015-8-5
在线时间
14 小时
发表于 2017-5-21 14:59:18 | 显示全部楼层
你好,我用的也是F103C8T6,DS18B20串口输出一直是FF,不知道怎么回事,用的是原子哥MINI板的程序,您那儿有C8T6的DS18B20程序么,希望能帮我解决一下,谢谢,研究好几天了
回复 支持 反对

使用道具 举报

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2015-8-5
在线时间
14 小时
发表于 2017-5-21 14:59:49 | 显示全部楼层

你好,我用的也是F103C8T6,DS18B20串口输出一直是FF,不知道怎么回事,用的是原子哥MINI板的程序,您那儿有C8T6的DS18B20程序么,希望能帮我解决一下,谢谢,研究好几天了
回复 支持 反对

使用道具 举报

25

主题

281

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2504
金钱
2504
注册时间
2015-8-17
在线时间
383 小时
 楼主| 发表于 2017-5-21 21:02:39 | 显示全部楼层
皮蛋瘦肉粥 发表于 2017-5-21 14:59
你好,我用的也是F103C8T6,DS18B20串口输出一直是FF,不知道怎么回事,用的是原子哥MINI板的程序,您那 ...

我不是上传了附件了吗?裸机的跑原子哥的就行,我也是在它基础上改的
做事的原则:
1.每个问题重复三遍、研究三遍后再提问,直接得到答案的人什么都没学会。
2.做事要有始有终,感谢那些帮助自己解决问题的人,把解决的方法总结起来。
回复 支持 反对

使用道具 举报

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2015-8-5
在线时间
14 小时
发表于 2017-5-22 11:15:26 | 显示全部楼层
wszdxmh 发表于 2017-5-21 21:02
我不是上传了附件了吗?裸机的跑原子哥的就行,我也是在它基础上改的

太感谢你了。用您的程序,成功了,我怀疑是延时函数出了问题。
回复 支持 反对

使用道具 举报

129

主题

397

帖子

0

精华

高级会员

Rank: 4

积分
831
金钱
831
注册时间
2017-7-12
在线时间
150 小时
发表于 2017-10-2 11:46:24 | 显示全部楼层
我觉得虽然你的成功了,但是原因不是这个,我用了原本的延时也可以,原因不在这
回复 支持 反对

使用道具 举报

25

主题

281

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2504
金钱
2504
注册时间
2015-8-17
在线时间
383 小时
 楼主| 发表于 2017-10-5 13:52:16 | 显示全部楼层
余一水 发表于 2017-10-2 11:46
我觉得虽然你的成功了,但是原因不是这个,我用了原本的延时也可以,原因不在这

建议用逻辑分析仪抓一下波形,这样你就知道是什么问题了
做事的原则:
1.每个问题重复三遍、研究三遍后再提问,直接得到答案的人什么都没学会。
2.做事要有始有终,感谢那些帮助自己解决问题的人,把解决的方法总结起来。
回复 支持 反对

使用道具 举报

129

主题

397

帖子

0

精华

高级会员

Rank: 4

积分
831
金钱
831
注册时间
2017-7-12
在线时间
150 小时
发表于 2017-10-5 14:28:59 | 显示全部楼层
wszdxmh 发表于 2017-10-5 13:52
建议用逻辑分析仪抓一下波形,这样你就知道是什么问题了

没有这个设备啊,哎,干脆换LM75吧,IIC的
回复 支持 反对

使用道具 举报

1

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2022-3-20
在线时间
16 小时
发表于 2022-3-30 01:17:17 | 显示全部楼层
幫頂一下, 謝謝分享
回复 支持 反对

使用道具 举报

0

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2014-1-14
在线时间
9 小时
发表于 2024-5-16 21:28:41 | 显示全部楼层
谢谢分享,楼主弄得不错。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 19:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表