ds18b温度转换问题

2019-07-16 04:51发布

tl=read_ds18b20(); th=read_ds18b20(); value=th; value=value<<8; value=value|tl; value=value*(0.0625*10); return value;我想做一个报警系统,设定一个温度最大值与返回值(value)对比,实际温度(value)超过最大值,
蜂鸣器响,但是程序老是没超过最值就报警,到底怎么回事,而且当我最值设置900以上才不会报警,
求大侠解惑
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
zhihuizhou
1楼-- · 2019-07-16 09:35
请附上整个程序
lovezjf234
2楼-- · 2019-07-16 14:12
看看是不是变量应该为unsigned int 现在设置的是unsigned char了
lstcspring
3楼-- · 2019-07-16 14:22
 精彩回答 2  元偷偷看……
化雨眠66
4楼-- · 2019-07-16 17:29
谢谢大侠们哈,问题解决啦
oyl
5楼-- · 2019-07-16 20:52
谢谢分享
1051747376
6楼-- · 2019-07-16 22:29
value=value<<8; value=value|tl; value=value*(0.0625*10); //这段数据处理明显有问题嘛。

一周热门 更多>