我需要写一个寄存器来使设备退出引导并进入应用程序模式,以便在ST-Nucleo-F767ZI上使用I2C。我当前正在使用ST提供的HAL函数HAL_I2C_Mem_Write
将数据写入寄存器,但是此函数要求数据不是NULL
。使用ST HAL ping寄存器的正确方法是什么?是HAL_I2C_Master_Transmit
吗?
答案 0 :(得分:0)
上述问题的答案是:是的-处理寄存器ping的正确方法是通过HAL_I2C_Master_Transmit
。此功能将传输所提供的数据-在这种情况下为设备上的寄存器地址。 HAL_I2C_Mem_Write
函数是一个较高级别的函数,它期望调用者将数据写入寄存器;因此,在函数本身中,如果输入size
为0或pData
为NULL
,则驱动程序将抛出HAL_ERROR
。