OpenEdv-开源电子网

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

单个DS18B20采集的温度想通过串口发送到电脑上,但是显示都是0,请问大神们有人做过吗,求指教

[复制链接]

5

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2017-2-10
在线时间
43 小时
发表于 2017-4-8 11:49:20 | 显示全部楼层 |阅读模式
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6679
金钱
6679
注册时间
2015-8-25
在线时间
1036 小时
发表于 2017-4-8 12:17:02 | 显示全部楼层
先确定你真的采集到了温度值,比如给个判断条件当温度大于20度点亮一个led灯看看。
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复 支持 反对

使用道具 举报

5

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2017-2-10
在线时间
43 小时
 楼主| 发表于 2017-4-8 13:31:46 | 显示全部楼层
szczyb1314 发表于 2017-4-8 12:17
先确定你真的采集到了温度值,比如给个判断条件当温度大于20度点亮一个led灯看看。

您做过类似的吗?
回复 支持 反对

使用道具 举报

5

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2017-2-10
在线时间
43 小时
 楼主| 发表于 2017-4-8 13:35:07 | 显示全部楼层
szczyb1314 发表于 2017-4-8 12:17
先确定你真的采集到了温度值,比如给个判断条件当温度大于20度点亮一个led灯看看。

好像真的不是,我又新写了一个,但是总是有一个错误,发给您看看,求指教
回复 支持 反对

使用道具 举报

5

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2017-2-10
在线时间
43 小时
 楼主| 发表于 2017-4-8 13:39:29 | 显示全部楼层

编译报错,求指教

Template.rar

4.53 MB, 下载次数: 172

DS18B20

回复 支持 反对

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6679
金钱
6679
注册时间
2015-8-25
在线时间
1036 小时
发表于 2017-4-8 14:19:02 | 显示全部楼层
本帖最后由 szczyb1314 于 2017-4-8 14:22 编辑

我测试通过的,板子是正点原子Mini stm32f103rct6,
串口助手截图是我先用手捏着18b20让温度升高再松手温度下降的过程中截图的。我这里正常是23度,

szc--DS18B20ToPCdisplay.zip

2.3 MB, 下载次数: 263

He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复 支持 反对

使用道具 举报

5

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2017-2-10
在线时间
43 小时
 楼主| 发表于 2017-4-8 14:48:59 | 显示全部楼层
szczyb1314 发表于 2017-4-8 14:19
我测试通过的,板子是正点原子Mini stm32f103rct6,
串口助手截图是我先用手捏着18b20让温度升高再松手温 ...

我看您的程序没有用到串口,而是用LCD显示的,是不是您发的文件不对啊
回复 支持 反对

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6679
金钱
6679
注册时间
2015-8-25
在线时间
1036 小时
发表于 2017-4-8 15:00:24 | 显示全部楼层
我用#if 0注释掉了LCD的所有程序啊,串口初始化有,然后用printf串口发送数据的
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复 支持 反对

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6679
金钱
6679
注册时间
2015-8-25
在线时间
1036 小时
发表于 2017-4-8 15:05:06 | 显示全部楼层
#if 0与#endif之间的代码不执行,所有关于LCD显示的都注释掉了。
        u8 t=0;                            
        short temperature;   
        delay_init();                     //延时函数初始化          
        uart_init(9600);                 //串口初始化为9600
        LED_Init();                                  //初始化与LED连接的硬件接口
        while(DS18B20_Init());
       
        while(1)
        {                        
                if(t%10==0)//每100ms读取一次
                {                                                                          
                        temperature=DS18B20_Get_Temp();       
                       
                        if(temperature<0)
                        {
                                //LCD_ShowChar(60+40,150,'-',16,0);                        //显示负号
                                temperature=-temperature;                                        //转为正数
                        }
                        //else LCD_ShowChar(60+40,150,' ',16,0);                        //去掉负号
                        //LCD_ShowNum(60+40+8,150,temperature/10,2,16);        //显示正数部分            
                           //LCD_ShowNum(60+40+32,150,temperature%10,1,16);        //显示小数部分
                        printf("temperature=%f\r\n",temperature/10.0);
                }                                  
                 delay_ms(10);
                t++;
                if(t==20)
                {
                        t=0;
                        LED0=!LED0;
                }
        }
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复 支持 反对

使用道具 举报

0

主题

0

帖子

0

精华

新手入门

积分
1
金钱
1
注册时间
2019-5-1
在线时间
0 小时
发表于 2017-4-17 11:16:00 | 显示全部楼层
请问问题解决了吗?我用F1的例程改了芯片改了引脚,初始化能通过,可读取回来的温度也全是0,但是换F4的板子改例程测试就是正常的,不知道什么原因。。
回复 支持 反对

使用道具 举报

5

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2017-2-10
在线时间
43 小时
 楼主| 发表于 2017-4-21 14:05:04 | 显示全部楼层
yzn327 发表于 2017-4-17 11:16
请问问题解决了吗?我用F1的例程改了芯片改了引脚,初始化能通过,可读取回来的温度也全是0,但是换F4的板 ...

解决了,要不要发给你
回复 支持 反对

使用道具 举报

1

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2013-10-9
在线时间
12 小时
发表于 2017-5-13 23:20:06 | 显示全部楼层
有STM8的18b20的?
回复 支持 反对

使用道具 举报

5

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2017-2-10
在线时间
43 小时
 楼主| 发表于 2017-5-14 00:52:28 | 显示全部楼层
ken123 发表于 2017-5-13 23:20
有STM8的18b20的?

有的话请您发过来,论坛、邮箱都可以,QQ邮箱978322461@qq.com,不是抄袭,这是借鉴您的设计思想
回复 支持 反对

使用道具 举报

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2015-8-5
在线时间
14 小时
发表于 2017-5-21 14:27:20 | 显示全部楼层
szczyb1314 发表于 2017-4-8 12:17
先确定你真的采集到了温度值,比如给个判断条件当温度大于20度点亮一个led灯看看。

我总是收到FF,是怎么回事,谢谢
回复 支持 反对

使用道具 举报

17

主题

354

帖子

0

精华

高级会员

Rank: 4

积分
797
金钱
797
注册时间
2017-5-21
在线时间
340 小时
发表于 2017-5-21 18:56:01 来自手机 | 显示全部楼层
这种单总线的设备容易时序出问题,我昨天测试DHT11就被时序坑了。手册理解不透啊……
回复 支持 反对

使用道具 举报

16

主题

59

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
220
金钱
220
注册时间
2015-7-27
在线时间
26 小时
发表于 2017-5-25 15:14:30 | 显示全部楼层
楼主能否给发一份。谢谢。547531705@qq.com
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
2
金钱
2
注册时间
2017-5-26
在线时间
0 小时
发表于 2017-5-26 11:21:55 | 显示全部楼层
大神,能给我也发一份吗,lin8925@outlook.com  谢谢您了
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-8-20 20:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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