完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在网上找的 SHT20 的程序,我只修改了端口 由PB6、PB7也成了 PB10、PB11
可运行后,读出的值为128.多,温湿度的值都不变。 好像接不接传感器都显示128.多 的值! 请各位大神指教一下,那里有问题?谢谢 .h 的设置,我只改了前3行 #define SHT2x_I2C_PORT GPIOB #define SHT2x_SCL_PIN GPIO_Pin_10 //6 #define SHT2x_SDA_PIN GPIO_Pin_11 //7 #define SHT2x_SCL_HIGH() GPIO_SetBits(SHT2x_I2C_PORT, SHT2x_SCL_PIN) #define SHT2x_SCL_LOW() GPIO_ResetBits(SHT2x_I2C_PORT, SHT2x_SCL_PIN) #define SHT2x_SDA_HIGH() GPIO_SetBits(SHT2x_I2C_PORT, SHT2x_SDA_PIN) #define SHT2x_SDA_LOW() GPIO_ResetBits(SHT2x_I2C_PORT, SHT2x_SDA_PIN) #define SHT2x_SCL_STATE() GPIO_ReadInputDataBit(SHT2x_I2C_PORT, SHT2x_SCL_PIN) #define SHT2x_SDA_STATE() GPIO_ReadInputDataBit(SHT2x_I2C_PORT, SHT2x_SDA_PI .c 初始化函数,我只加了 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB , ENABLE);这一句 void SHT2x_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB , ENABLE); GPIO_InitStructure.GPIO_Pin = SHT2x_SCL_PIN | SHT2x_SDA_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(SHT2x_I2C_PORT, &GPIO_InitStructure); SHT2x_SCL_HIGH(); SHT2x_SDA_HIGH(); SHT2x_Delay(80); SHT2x_SoftReset(); } |
|
相关推荐
5个回答
|
|
SDA这个引脚在使用时既要做为输入又要作为输出,你这样初始化他肯定有问题。
|
|
|
|
应该怎么做,我是个新手,能不能给个代码? |
|
|
|
谢谢zhifubao的回复
问题已经解决, 主要问题: 1.硬件,芯片SDA、SCL两个引脚没有加上拉电阻——在网上买的以为可以直接用。 2.IO口打开方式,程序里写成了打开IIC2——这个问题纠结了好久,才搞清楚,STM32只是模拟IIC不用打开硬件IIC |
|
|
|
可发一下电路看看吧,感觉应该是硬件上的问题的
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2460 浏览 1 评论
飞凌嵌入式ElfBoard ELF 1板卡-开发板适配之LED
1264 浏览 0 评论
迅为RK3588开发板实时系统编译-Preemption系统/ Xenomai系统编译-编译Linux实时系统-单独编译1
856 浏览 0 评论
哇!5.2秒进入应用界面!Linux快速启动方案分享,基于全志T113-i国产平台
1793 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-移植前准备之git管理内核源码
597 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-1 04:47 , Processed in 0.453566 second(s), Total 55, Slave 48 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号