使用ST的I2C HAL库将数据不写入寄存器

时间:2019-01-28 21:15:01

标签: stm32 i2c hal

我需要写一个寄存器来使设备退出引导并进入应用程序模式,以便在ST-Nucleo-F767ZI上使用I2C。我当前正在使用ST提供的HAL函数HAL_I2C_Mem_Write将数据写入寄存器,但是此函数要求数据不是NULL。使用ST HAL ping寄存器的正确方法是什么?是HAL_I2C_Master_Transmit吗?

1 个答案:

答案 0 :(得分:0)

上述问题的答案是:是的-处理寄存器ping的正确方法是通过HAL_I2C_Master_Transmit。此功能将传输所提供的数据-在这种情况下为设备上的寄存器地址。 HAL_I2C_Mem_Write函数是一个较高级别的函数,它期望调用者将数据写入寄存器;因此,在函数本身中,如果输入size为0或pDataNULL,则驱动程序将抛出HAL_ERROR