我的IIC配置如下
static void MX_I2C2_Init(void)
{
/*I2C_Info.controlMode=1;//硬件控制
I2C_Info.speed=400000;
I2C_Info.subAddrMode=2;
I2C_Info.subAddrWidth=0;
I2C_Info.slaveAddr=0x30;
I2C_Info.channel=1;
VT_I2C_HardInit(&I2C_Info);*/
hi2c2.Instance = I2C2;
hi2c2.Init.ClockSpeed = 100000;
hi2c2.Init.DutyCycle = I2C_DUTYCYCLE_2;
hi2c2.Init.OwnAddress1 = 0x2a;//0x54
hi2c2.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
hi2c2.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
hi2c2.Init.OwnAddress2 = 0;
hi2c2.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
hi2c2.Init.NoStretchMode = I2C_NOSTRETCH_ENABLE;
if (HAL_I2C_Init(&hi2c2) != HAL_OK)
{
Error_Handler();
}
}
|