使用STs I2C HAL Library不向寄存器写入数据

问题描述 投票:0回答:1

我需要写一个寄存器,让设备退出启动状态,进入应用模式,以便在ST-Nucleo-F767ZI上使用I2C。我目前正在使用ST提供的HAL函数HAL_I2C_Mem_Write将数据写入寄存器,但是这个函数要求数据不是NULL。使用ST HAL ping寄存器的正确方法是什么?是HAL_I2C_Master_Transmit

stm32 i2c hal
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.