OpenSTLinux 6.1发布:M33-TD加持+安全升级,STM32MPU开发效率翻倍!
STM32MP135 MP157 MP257 CoreMark移植&&跑分对比&&多核心负载不均衡问题排查与解决
STM32系列芯片之间相互移植注意事项
STM32如何成为现代科技的隐形引擎
STM32--STM32 微控制器详解
大神都是怎么学习STM32的,我也跟着学
实战经验 | 1小时在STM32MPU上运行YOLOv8——训练篇
新手学几天STM32,为啥一脸茫然
最通俗易懂的STM32完整启动流程分析
什么是STM32? STM32与ARM有什么关系? STM32能做什么?
微信公众号
手机版
当然可以了。
{
uint8_t data[1];
HAL_Delay(50);
HAL_I2C_Mem_Read(&hi2c2, DevAddress, MemAddress, I2C_MEMADD_SIZE_8BIT, data, 1, 500);
return data[0];
}
不通过DM A或者中断,直接这样在while中读取
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
data2[0]=i2c_read(0x68,0x75,1,data1);
HAL_Delay(5);
}
中读不出数来,是为啥那,楼主帮忙解决解决,谢谢
我看有些列子写了 有些没有写
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)
{}
}
//**************************************
//从I2C设备读取一个字节数据
//**************************************
uint8_t Single_ReadI2C(uint8_t REG_Address)
{
uint8_t REG_data;
while(HAL_I2C_Master_Transmit(&hi2c1,MPU6050_DEFAULT_ADDRESS,®_Address,1,5000) != HAL_OK)
{
if(HAL_I2C_GetError(&hi2c1) != HAL_I2C_ERROR_AF)
{}
}
if(HAL_I2C_Master_Receive(&hi2c1,MPU6050_DEFAULT_ADDRESS+1,®_data,1,5000) != HAL_OK)
{
if(HAL_I2C_GetError(&hi2c1) != HAL_I2C_ERROR_AF)
{}
}
return REG_data;
}
好久之前的,找不到了。