STM32 i2c方向设置

在使用STM32作为主控的BME280气压检测器项目中,遇到I2C读写异常,始终得到0X00或0XFF。经过查阅资料和对比《https://blog.csdn.net/wangliwang/article/details/82589602》、《http://www.openedv.com/posts/list/491.htm》,发现I2C软件模拟中的IO方向设置是关键。原本使用的是PA11和PA12,改为PB6和PB7后,忘记修改定义导致问题。修正后,I2C工作正常,认识到自己对I2C的理解不足。
摘要由CSDN通过智能技术生成

做个备忘

这段时间在做一个用STM32作为主控的气压检测器,网上查找了 许多 BME280的代码 将代码编译并写入32,由于尝试修改了I2C的引脚,以为与修改普通的IO那么简单,I2C读写出来一直是0X00 或者为0XFF,尝试修改 ,由于这个模块网上说是地址位 为0XEC 或者0X76 尝试修改 但是始终不能出正确的结果,
最终怀疑是I2C
查看了

https://blog.csdn.net/wangliwang/article/details/82589602
http://www.openedv.com/posts/list/491.htm
这两个 直接解决了问题 修改I2C软件模拟中的IO方向设置直接解决了问题,
由于它本身使用的io口 PA11 PA12

//IO方向设置
#define SDA_IN()  {GPIOB->CRH&=0XFFF0FFFF;GPIOB->CRH|=8<<4*4;}
#define SDA_OUT() {GPIOB->CRH&=0XFFF0FFFF;GPIOB->CRH|=3<
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值