你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

I2C温度传感器读不出数据,即使读出也是错误  

[复制链接]
wamcncn 提问时间:2015-1-14 12:11 /
阅读主题, 点击返回1楼
收藏 评论56 发布时间:2015-1-14 12:11
56个回答
caizhiwei 回答时间:2015-1-14 16:01:03
我这有调试好的代码,你参考下,希望对你有用!
百为STM32_I2C温度传感器.rar (1.25 MB, 下载次数: 86)
木易-357428 回答时间:2015-1-14 16:41:21
哎,有钱就是任性@!
AndyYau-268557 回答时间:2015-1-14 16:54:03
我晚上回去看看,能不能得到50币。
wamcncn 回答时间:2015-1-14 18:56:27
沐紫 发表于 2015-1-14 13:02
楼主这么豪气,一出手就是50ST金币,相信重赏之下必有用勇夫

嘿嘿,知识比ST币重要
AndyYau-268557 回答时间:2015-1-14 19:39:28
楼主 我大概扫了下,发现1.在main函数里 while(1)循环 没有执行语句,应该用“;” , 2:unsigned char  LM75A_Read_NByte(unsigned char *pbuffer,  unsigned char n, unsigned char dataaddress )这个函数返回值有点问题吧? 程序构造比较乱。建议:1.先确定printf函数正常2.在调试过程中检查L75tem的值,在watch里看。
wamcncn 回答时间:2015-1-14 20:10:11
本帖最后由 wambob 于 2015-1-14 20:12 编辑
AndyYau-268557 发表于 2015-1-14 19:39
楼主 我大概扫了下,发现1.在main函数里 while(1)循环 没有执行语句,应该用“;” , 2:unsigned char  ...


1.printf函数没错,因为数据能发到串口助手上
2. unsigned char  LM75A_Read_NByte(unsigned char *pbuffer,  unsigned char n, unsigned char dataaddress )函数来自摩尔吧教程,原教程是240C2的读写,此处稍作修改

24CXX.rar

下载

1.13 KB, 下载次数: 2, 下载积分: ST金币 -1

AndyYau-268557 回答时间:2015-1-14 20:17:10
建议你还说下载个LM75的程序改改把  这样:你把现在出现的情况说的详细点,现在不确定是硬件问题还说软件问题?
AndyYau-268557 回答时间:2015-1-14 20:17:41
建议你还说下载个LM75的程序改改把  这样:你把现在出现的情况说的详细点,现在不确定是硬件问题还说软件问题?
wamcncn 回答时间:2015-1-14 20:25:44
AndyYau-268557 发表于 2015-1-14 20:17
建议你还说下载个LM75的程序改改把  这样:你把现在出现的情况说的详细点,现在不确定是硬件问题还说软件问 ...

因该是软件的问题吧,072的板子才用没多久,LM75A读出的数据是127.875,  貌似跟11位补码 * 0.125有点关系,用手摸不变化, 在51板上可显示正常温度,因为现在是零上几度,所以,读出的温度值不没有判断负值
AndyYau-268557 回答时间:2015-1-14 20:47:10
http://bbs.21ic.com/icview-585809-1-1.html 看看这篇文章,应该可以帮你。
实在不行,哪天我不忙了,帮你写个。慢慢来,静下心,先确定I2c没什么错误,在看LM75对于这种芯片,主要是读地址里的数据,出来之后又个换算。你现在可以出来数字,离结果不远了,加油。另外你的C写的有点乱,可以下载个软件整理下。
wamcncn 回答时间:2015-1-14 21:55:26
本帖最后由 wambob 于 2015-1-14 21:57 编辑
AndyYau-268557 发表于 2015-1-14 20:47
http://bbs.21ic.com/icview-585809-1-1.html  看看这篇文章,应该可以帮你。实在不行,哪天我不忙了,帮你 ...


谢谢了,我用官方库搞定了,那个泪啊,我整了快2天了,结果用例程调用了2条函数,就好了,结果还发现例程里有个小差错
这篇文章给了我提示http://www.lijingquan.net/stm32-i2c.html
wamcncn 回答时间:2015-1-14 22:05:43
Dylan疾风闪电 发表于 2015-1-14 14:30
先上电复位传感器,然后读一下这几个固定寄存器。以此来确定通讯时序是否正确!
...

读的是Temp寄存器  这个源程序还没该好,软件不好查啊,我用官方例程解决了,现在读书正常,就是官方例程里还有个小错,一并修改,现在正常读数了
wamcncn 回答时间:2015-1-14 22:08:13
沐紫 发表于 2015-1-14 13:02
楼主这么豪气,一出手就是50ST金币,相信重赏之下必有用勇夫

没有最佳答案怎么办呢,是不是给回答好的都分点
wamcncn 回答时间:2015-1-14 22:10:07
晓枫VS枯叶 发表于 2015-1-14 14:46
F0的我用了HAL库调通了I2C,你这标准库还没研究!

想练练模拟的,实在没招了,用了标准外设库例程
wamcncn 回答时间:2015-1-14 22:35:30
xyc2690 发表于 2015-1-14 13:01
我也在调~~用软件模拟的。

还是标准库好用啊,软件出个错起来烦,整了2天多还没好

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版