最近用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();
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
外设没正常响应的时候,没有ack应答,有可能造成你的现象
一周热门 更多>