我用 STM32F446RE与BH1750 传感器进行数据收发。当使用 HAL_I2C_Master_Transmit_DMA 函数时,控制器只会发送一个起始信号。
代码如下:
if(HAL_I2C_IsDeviceReady(&hi2c1, bh1750Address, 2, bh1750TimeOut) == HAL_OK){
__NOP();
}
transmitBuffer[0] = 0x10; // BH1750 连续高分辨率测量模式
HAL_I2C_Master_Transmit_DMA(&hi2c1, (uint8_t) bh1750Address, (uint8_t*)transmitBuffer, 1);
但如果我使用 HAL_I2C_Master_Transmit,一切工作正常。
是不是 HAL 库存在 Bug?
|
|