STM32 I2C 地址设置与输出不符的现象:
例1:以7bit地址0x3f为例
地址输出如下:
观察结果如下:将原7位地址右移一位,并在左补零,然后补上一位方向位0/1,0为写,1为读。
验证:读地址0x27;
例2:以10bit 0x30f为例
时无应答
有应答时
观察结果为10bit的地址发送分为两部分,第一次发送左补4位1加上10位地址的高两位左补0加上方向位0/1,有应答后再发送10位地址的后8位。
验证:0x111
本实验观察硬件I2C通过HAL库 HAL_I2C_Master_Transmit_DMA()与HAL_I2C_Slave_Receive_DMA()在两块板子上通信获得,但当断开仅以一块板子发送时,观察不到输出现象,连地址输出也无,希望友人解疑惑。