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