请教一下大家,关于IIC-DMA的改写问题,我之前用的HAL库的IIC阻塞函数进行存储器的读写,没有问题- pBuffer=0x1C;
- HAL_I2C_Mem_Write(&hi2c1,LSM6DS3_ACC_GYRO_I2C_ADDRESS_LOW,LSM6DS3_CTRL2_G_REG,1,&pBuffer, 1, 0x2000);HAL_Delay(1);
- HAL_I2C_Mem_Read(&hi2c1, LSM6DS3_ACC_GYRO_I2C_ADDRESS_LOW, LSM6DS3_CTRL2_G_REG, 1,&pBufferkk,1, 0x2000);
- printf("0x%02X ",pBufferkk);
复制代码 可以输出0X1C;
但是我改用IIC_DMA的方式则输出不正确
- pBuffer=0x1C;
- HAL_I2C_Mem_Write_DMA(&hi2c1,LSM6DS3_ACC_GYRO_I2C_ADDRESS_LOW,LSM6DS3_CTRL2_G_REG,1,&pBuffer, 1);HAL_Delay(1);
- HAL_I2C_Mem_Read_DMA(&hi2c1, LSM6DS3_ACC_GYRO_I2C_ADDRESS_LOW, LSM6DS3_CTRL2_G_REG, 1,&pBufferkk,1);
- printf("0x%02X ",pBufferkk);
复制代码 这样只能输出0X00,这是为什么?是函数我用的不正确吗?
|