news 2026/4/16 14:35:03

Day29:I2C 高级应用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Day29:I2C 高级应用

多字节读写:
连续读取 / 写入多个字节 (如读取温湿度传感器数据)
从设备模式:
STM32 作为从设备响应主设备请求
适用于多 MCU 系统或特定外设通信
I2C 常见问题与解决方案:
通信失败:检查上拉电阻、SDA/SCL 是否接反、地址是否正确
时序问题:降低通信速率 (如从 400Kbps 降至 100Kbps)
I2C 应用案例:
连接 EEPROM 存储数据
连接 OLED 显示屏
连接温湿度传感器 (DHT11/SHT30)
连接加速度计 / 陀螺仪 (MPU6050)
代码示例:(读取 DHT11 温湿度数据)

// DHT11协议(简化版)
uint8_t DHT11_Read(void){
uint8_t data[5] = {0};
uint8_t i, j;

// 主机发送起始信号
HAL_GPIO_WritePin(DHT11_PORT, DHT11_PIN, GPIO_PIN_RESET); // 拉低SDA
HAL_Delay(20); // 持续至少18ms
HAL_GPIO_WritePin(DHT11_PORT, DHT11_PIN, GPIO_PIN_SET); // 拉高SDA
HAL_Delay(30); // 等待响应

// 等待DHT11响应
while(HAL_GPIO_ReadPin(DHT11_PORT, DHT11_PIN)); // 等待SDA变低
while(!HAL_GPIO_ReadPin(DHT11_PORT, DHT11_PIN)); // 等待SDA变高
while(HAL_GPIO_ReadPin(DHT11_PORT, DHT11_PIN)); // 等待SDA变低

// 接收40位数据
for(i=0; i<5; i++){
for(j=0; j<8; j++){
while(!HAL_GPIO_ReadPin(DHT11_PORT, DHT11_PIN)); // 等待高电平
HAL_Delay(30); // 延时判断是0还是1
data[i] <<= 1;
if(HAL_GPIO_ReadPin(DHT11_PORT, DHT11_PIN)) data[i] |= 1; // 高电平为1
while(HAL_GPIO_ReadPin(DHT11_PORT, DHT11_PIN)); // 等待低电平
}
}

// 校验
if(data[4] == (data[0] + data[1] + data[2] + data[3])){
humidity = data[0]; // 湿度整数部分
temperature = data[2]; // 温度整数部分
return 1; // 成功
}
return 0; // 失败
}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 6:31:09

OpenCore Legacy Patcher终极指南:让老款Mac重获新生的革命性工具

OpenCore Legacy Patcher终极指南&#xff1a;让老款Mac重获新生的革命性工具 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 想让您的老款Mac设备运行最新的macOS系统吗&…

作者头像 李华
网站建设 2026/4/16 13:59:30

WebLaTeX:免费在线LaTeX编辑器的终极完整指南

在学术写作和技术文档创作领域&#xff0c;WebLaTeX作为一款强大的在线LaTeX编辑器&#xff0c;完美整合了VSCode、Git版本控制、AI智能辅助和实时协作功能&#xff0c;为用户提供了完整的LaTeX编辑解决方案。这款工具不仅免费提供Overleaf的高级功能&#xff0c;还让LaTeX编辑…

作者头像 李华
网站建设 2026/4/16 14:06:16

Zepp Life自动化刷步数终极指南:智能方案解决微信运动同步难题

Zepp Life自动化刷步数终极指南&#xff1a;智能方案解决微信运动同步难题 【免费下载链接】mimotion 小米运动刷步数&#xff08;微信支付宝&#xff09;支持邮箱登录 项目地址: https://gitcode.com/gh_mirrors/mimo/mimotion 还在为每天微信运动排行榜焦虑&#xff1…

作者头像 李华
网站建设 2026/4/16 14:00:27

Windows苹果设备连接终极解决方案:一键驱动安装全流程

Windows苹果设备连接终极解决方案&#xff1a;一键驱动安装全流程 【免费下载链接】Apple-Mobile-Drivers-Installer Powershell script to easily install Apple USB and Mobile Device Ethernet (USB Tethering) drivers on Windows! 项目地址: https://gitcode.com/gh_mir…

作者头像 李华
网站建设 2026/4/10 17:33:31

AMD Ryzen处理器深度调优神器SMUDebugTool实战指南

AMD Ryzen处理器深度调优神器SMUDebugTool实战指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gitcode.com/gh_m…

作者头像 李华
网站建设 2026/4/16 11:00:15

心电图AI分类终极指南:94.5%准确率的深度学习解决方案

心电图AI分类终极指南&#xff1a;94.5%准确率的深度学习解决方案 【免费下载链接】ecg-classification Code for training and test machine learning classifiers on MIT-BIH Arrhyhtmia database 项目地址: https://gitcode.com/gh_mirrors/ec/ecg-classification 心…

作者头像 李华