我在开机后, 做完I2C的初始化之后, 使用HAL_I2C_Mem_Read()去读取I2C 但是读取失败, 用示波器看Data和Clock的时序图 发现有问题时, Clock一直保持Low或High 请问一下, 这是STM的API HAL_I2C_Mem_Read()没有去把clock拉hihg, 拉low? 或者是其他什么问题?? Thanks
评分
查看全部评分
你先普通io输出拉高拉低看看
==>是指HAL_GPIO_WritePin()吗?
我直接使用HAL_GPIO_WritePin(), SDA, SCL似乎不会被拉低
HAL_GPIO_WritePin(I2C2_SCL_GPIO_Port, I2C2_SCL_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(I2C2_SDA_GPIO_Port, I2C2_SDA_Pin, GPIO_PIN_RESET);
检查io配置是否正确
==>
如果有问题, 应该是百分之百会发生问题,
但我这个问题不是每次都会发生
还有其他建议吗?
Thanks
io正常拉高拉低,再看i2c
评分
查看全部评分
评分
查看全部评分