使用I2C STM32F0 HAL库寻址寄存器
我对使用STM的CUBE和HAL_libraries非常陌生。我正在使用具有32个引脚的STM32F0微控制器。I2C的原理图是正确的。所以在这里我需要一点帮助。 我有一个使用I2C通信的电容传感器(FDC1004)。我必须写这些寄存器才能读取数据。 我该如何正确地将START请求表的主机发送给从机(从机地址为A0)? 如何设置指向0x0C寄存器的指针? 数据表中看到(寄存器0x0C:bit [7:4])为1。)我不知道,该怎么做?最后如何从同一寄存器读取? 另外,在阅读之前,我必须等待DONE_x字段(寄存器0x0C:bits [3:0])吗? 但是我不知道我是否在寻找正确的寄存器!因为我没有从传感器获得任何数据! 这是我的代码: int I2Ccomm () { HAL_I2C_Master_Transmit(&hi2c1,0xA1,0x0C, 10, 100); //start bit and pointer to register HAL_Delay(50); HAL_I2C_Master_Transmit(&hi2c1,0xA1,0x054, 10, 100); // setting the register HAL_Delay(50); HAL_I2C_Master_Receive(&hi2c1, 0xA0, 0x0C, 10, 100); //read from this register HAL_Delay(50); HAL_I2C_Master_Receive(&hi2c1, 0xA0, 0x02, 10, 100); //read data from …