利用STM32CubeMX配置I2C,SCL/SDA一直为低电平

2019-07-21 00:20发布

最近用STM32L051C8T6做项目,用STM32CubeMX配置了I2C口,外接10K(3.3V)上拉电阻,程序烧入板子后,示波器显示SCL,SDA一直为低电平,准确的说是0.008V,不管发什么通讯指令一直是低电平,当我把上拉电阻的电源置0后,SCL,SDA就=0V。请问这个是由于什么造成的?


各种网上找办法,目前已尝试办法(都未奏效):
1、先初始化GPIO端口的时钟、再初始化i2c的时钟,再对引脚初始化
2、i2c.c文件中的的void HAL_I2C_MspInit(I2C_HandleTypeDef* i2cHandle)函数中添加如下代码:        __I2C2_FORCE_RESET();

        __I2C2_RELEASE_RESET();





友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
awsawzj
1楼-- · 2019-07-21 05:16
早起的达仙僧 发表于 2019-6-5 15:23
设计时是挂了外设,不过外设芯片没到还没焊上,主函数里面有关于这个外设的初始化函数,我把这个初始化函 ...

外设没正常响应的时候,没有ack应答,有可能造成你的现象
awsawzj
2楼-- · 2019-07-21 08:52
 精彩回答 2  元偷偷看……
早起的达仙僧
3楼-- · 2019-07-21 11:58
 精彩回答 2  元偷偷看……
早起的达仙僧
4楼-- · 2019-07-21 12:53
设计时是挂了外设,不过外设芯片没到还没焊上,主函数里面有关于这个外设的初始化函数,我把这个初始化函数给禁止了SCLSDA电平就是正常高电平了,应该是和这个有关吧

一周热门 更多>