OpenEdv-开源电子网

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

本人菜鸟一枚向各位大神求助!!!学习战舰3,移植数字温度传感器试验代码到自制电路板,调试DS18B20初始化一直未成功!

[复制链接]

1

主题

8

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2018-5-19
在线时间
6 小时
发表于 2018-5-20 16:18:03 | 显示全部楼层 |阅读模式
2金钱
本人学习战舰3,移植数字温度传感器试验代码到自制电路板,调试DS18B20初始化一直未成功!DS18B20与单片机连接的IO口,单独输出脉冲正常,温度传感器也是好的,一直困惑我一周了。求救!求救!求救!已上传代码。

Temperatuer cantrol-V1.0.rar

7.54 MB, 下载次数: 96

最佳答案

查看完整内容[请看2#楼]

谢谢大神,已解决,就是系统时钟的问题
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2018-5-19
在线时间
6 小时
 楼主| 发表于 2018-5-20 16:18:04 | 显示全部楼层
warship 发表于 2018-5-21 14:17
如果电路及引脚没有问题,
主要检查时序,
系统时钟是否与开发板一致(系统时钟对不对)

谢谢大神,已解决,就是系统时钟的问题
回复

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2018-5-20 21:53:56 | 显示全部楼层
不是keil心有余力不足呀,帮顶
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2018-5-19
在线时间
6 小时
 楼主| 发表于 2018-5-21 09:25:51 | 显示全部楼层
275891381 发表于 2018-5-20 21:53
不是keil心有余力不足呀,帮顶

谢谢,只是开发环境不一样而已
回复

使用道具 举报

117

主题

598

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
1702
金钱
1702
注册时间
2012-5-10
在线时间
439 小时
发表于 2018-5-21 11:26:41 | 显示全部楼层
这是我的初始化,看你能用不
[mw_shl_code=c,true]uint8_t pulse_time = 0;
       
        /* 主机设置为推挽输出 */
        DS18B20_Mode_Out_PP();
       
        DS18B20_DATA_OUT(DS18B20_LOW);
        /* 主机至少产生480us的低电平复位信号 */
        delay_us(600);
        /* 主机在产生复位信号后,需将总线拉高 */
        DS18B20_DATA_OUT(DS18B20_HIGH);
        /* 主机设置为上拉输入 */
        DS18B20_Mode_IPU();
        /*从机接收到主机的复位信号后,会在15~60us后给主机发一个存在脉冲*/
        delay_us(120);
       
        pulse_time = DS18B20_DATA_IN();
       

        delay_us(300);
       
        if(pulse_time == 0)
                return TRUE;
        else
                return FALSE;[/mw_shl_code]
如有技术问题,微信扫头像交流,STM32,JAVA,服务器
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2018-5-19
在线时间
6 小时
 楼主| 发表于 2018-5-21 12:16:24 | 显示全部楼层
xsx127 发表于 2018-5-21 11:26
这是我的初始化,看你能用不
[mw_shl_code=c,true]uint8_t pulse_time = 0;
       

用不了,问题是:我代码的DS18B20驱动程序能够在战舰V3(单片机STM32F103ZET6)上面使用,就是不能在自制电路板(单片机STM32F103C8T6)上使用,DS18B20是好的,对应的IO口能输出脉冲也是好的,调试的时候就是DS18b20初始化未成功,想不通问题在哪儿?
回复

使用道具 举报

117

主题

598

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
1702
金钱
1702
注册时间
2012-5-10
在线时间
439 小时
发表于 2018-5-21 13:45:09 | 显示全部楼层
007电子 发表于 2018-5-21 12:16
用不了,问题是:我代码的DS18B20驱动程序能够在战舰V3(单片机STM32F103ZET6)上面使用,就是不能在自制 ...

那就是你电路有问题吧
如有技术问题,微信扫头像交流,STM32,JAVA,服务器
回复

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13114
金钱
13114
注册时间
2012-11-26
在线时间
3812 小时
发表于 2018-5-21 13:51:06 | 显示全部楼层
1、你引脚是不是跟开发板是统一的?
2、如果不统一,涉及到引脚设置的部分,你是不是全部修改了?
3、你的时钟是不是跟开发板是统一的?
4、如果不统一,相关延迟的时间是否修改了?
学无止境
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2018-5-19
在线时间
6 小时
 楼主| 发表于 2018-5-21 14:05:58 | 显示全部楼层
xsx127 发表于 2018-5-21 13:45
那就是你电路有问题吧

电路很简单的,DS18B20信号线直接接单片机IO口,再接电源和地,元器件也是好的
回复

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4518
金钱
4518
注册时间
2018-5-11
在线时间
945 小时
发表于 2018-5-21 14:17:49 | 显示全部楼层
如果电路及引脚没有问题,
主要检查时序,
系统时钟是否与开发板一致(系统时钟对不对)
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4518
金钱
4518
注册时间
2018-5-11
在线时间
945 小时
发表于 2018-5-21 14:21:15 | 显示全部楼层
检查时钟可通过对延时时间是否正确入手,
编写一个延时1秒的程序(200us重复5次为1毫秒, 这个再重复1000次就是1秒了)
控制LED的亮灭,
目测时间间隔就可以了
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2018-5-19
在线时间
6 小时
 楼主| 发表于 2018-5-21 14:24:10 | 显示全部楼层
jermy_z 发表于 2018-5-21 13:51
1、你引脚是不是跟开发板是统一的?
2、如果不统一,涉及到引脚设置的部分,你是不是全部修改了?
3、你 ...

引脚和时钟都是统一的,就是直接移植的,IO口都是用PAx口,开发环境不一样,一个是KEIL,一个是IAR,单片机都是F103,IO口变少了
回复

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4518
金钱
4518
注册时间
2018-5-11
在线时间
945 小时
发表于 2018-5-21 14:40:10 | 显示全部楼层
007电子 发表于 2018-5-21 14:24
引脚和时钟都是统一的,就是直接移植的,IO口都是用PAx口,开发环境不一样,一个是KEIL,一个是IAR,单片 ...

按我的上楼的方法,
测试一下延时函数.
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

13

主题

611

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1929
金钱
1929
注册时间
2014-10-6
在线时间
625 小时
发表于 2018-5-21 16:51:32 | 显示全部楼层
在哪几个延时上多分析一下,如果代码相同,估计是你的系统时钟不同,查一下
回复

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2018-5-21 16:57:46 | 显示全部楼层
007电子 发表于 2018-5-21 12:16
用不了,问题是:我代码的DS18B20驱动程序能够在战舰V3(单片机STM32F103ZET6)上面使用,就是不能在自制 ...

你自己做的板子,信号引脚没有上拉把
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2018-5-19
在线时间
6 小时
 楼主| 发表于 2018-5-22 15:43:47 | 显示全部楼层
烟酒不沾 发表于 2018-5-21 16:51
在哪几个延时上多分析一下,如果代码相同,估计是你的系统时钟不同,查一下

谢谢大神,就是系统时钟不同的原因
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-7 16:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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