STM32
超强工具——STM32CubeMX 你会用吗?
集结出发! STM32全国研讨会系列之一:ST智能门铃中国首秀
关于STM32启动文件的几个小问题
【银杏科技ARM+FPGA双核心应用】STM32H7系列35——USB_VCP_FS
【银杏科技ARM+FPGA双核心应用】STM32H7系列28——USB_HID
粉丝分享 | 图说CRC原理应用及STM32硬件CRC外设
STM32L151进入低功耗,并由RTC唤醒的故事
[转]stm32控制NFC模块(PN532)源码(P2P,模拟卡,读写卡等
STM32G070RB+LVGL移植
微信公众号
手机版
HAL_I2C_Master_Transmit(&hi2cx,SlaveAddress,®_Address,1,5000)这个函数最后会发出一个STOP命令,但是MPU6050在读寄存器时,中间是不能有STOP的。
//**************************************
//从I2C设备读取一个字节数据
//**************************************
uint8_t Single_ReadI2C(uint8_t REG_Address)
{
uint8_t REG_data;
while(HAL_I2C_Master_Transmit(&hi2cx,SlaveAddress,®_Address,1,5000) != HAL_OK)
{
if(HAL_I2C_GetError(&hi2cx) != HAL_I2C_ERROR_AF)
{}
}
if(HAL_I2C_Master_Receive(&hi2cx,SlaveAddress+1,®_data,1,5000) != HAL_OK)
{
if(HAL_I2C_GetError(&hi2cx) != HAL_I2C_ERROR_AF)
{}
}
return REG_data;
}
确实如何所说,但是我用上面的代码当时测试是可以工作的。
使用HAL_I2C_Mem_Read应该会更好。
HAL_I2C_Master_Transmit 可以用 HAL_I2C_Mem_Write 代替
HAL_I2C_Master_Receive 可以使用 HAL_I2C_Mem_Read代替
buffer你是指哪个地方?
好的 我试试看
就是那个@_Address