完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
占个楼,增加下人气
|
|
|
|
根据你的描述,无法判断到底是硬件还是软件的问题。
所以建议调试方法: 1:首先查看你的STM32接SHT10接线是否正确;有否虚焊、焊反的情况;SHT10用i2c通信,上拉电阻是否接好,是否接成了强上拉? 2:其次确认你的STM32下是否还在使用51MCU那种模拟I2C方式来读取SHT10数据。如果是直接抄SHT的例程,因为普通51没有I2C模块,SHT的例程是根据51的特点来写,但用到STM32就不一样了。因为两者的默认IO结构不同。如果你STM32配置的IO输入是上拉输入的话,那么很可能跟外部的I2C上拉电阻并联,I2C信号输入的上拉等效电阻就变小,形成了强上拉,这杨你得到的数据就有问题。所以,STM32的程序要根据硬件电路来改写。 3:如果是用STM32的I2C模块来读取SHT10数据,或者用模拟I2C方式读取并排除了上述强上拉等电路问题。就要通过查看数据寄存器来分析是什么问题。最好是用有JLINK 或 ULINK2等仿真调试器,在程序上设断点运行到读取的I2C数据的那个地方,查看和Datasheet上的信息是否一致。 如果没有仿真器,那先确保串口通信是正常的。然后在程序中,嵌入串口输出程序,把I2C的buf的寄存器或者自定义的模拟I2C接收寄存器的数据发送到计算机上,在分析数据是否正确。 …… 现在只能想到这么多。 评分
|
||
|
||
调试硬件呢有一种很简便也很重要的方法 科学变量法。先分两大步,硬件,软件。硬件查看连接,先检查模块,测试下看结果,若不行,再查看下板子,测试下结果,依次类推啦,电源供电什么的。 软件部分分开调试,先检查数据解算部分,人为给定一个值,测试能否得到正确的温度。然后检查读取数据部分,观察从模块读出的数据是否正确
Ps没用过这个模块,说不对的地方请指正 |
|
|
|
先从硬件开始检查,从布线,焊接等等,看看硬件上有没有问题,然后再看看检查软件上的问题,一般都是这样做的
|
|
|
|
不知道是硬件还是软件问题
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1252 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1184 浏览 3 评论
2263 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1351 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1774 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 20:07 , Processed in 0.491312 second(s), Total 53, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号