久芯网

STM32G0B1RETx I2C问题

avatar ZPKL 提问时间: 2023-08-29 11:04:30 / 未解决
使用CubeMX生成的STM32G0B1工程,通过I2C读取EEPROM时,TXIS位一直保持0,导致无法发送从机地址。
调用的函数时:HAL_I2C_Mem_Read(&hi2c1, EEPROM_ADDRESS | EEPROM_READ, address, I2C_MEMADD_SIZE_16BIT, pOutBuff, outBuffLen, 100);
address为16位长度的。
根据手册,TXIS位发送中断状态位,在主发送模式时,当每个字节发送完成后,TXIS位才置1。那么I2C初始化完成后,TXIS位默认为0,在I2C_RequestMemoryRead()函数中先调用I2C_WaitOnTXISFlagUntilTimeout()检查TXIS位不是永远会失败吗?
该如何解决?


1个回答
  • avatar ZPKL
    回答时间: 2023-08-29 11:32:20

    明白第一个TXIS怎么来的了,发送从机地址来的,之前看错了

会员中心 微信客服
客服
回到顶部