尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

STM32软件IIC通信驱动文件(附下载地址) - PC2005

STM32软件IIC通信驱动文件(附下载地址) - PC2005
📅 发布时间:2026/6/22 6:11:09

下载方法

  1. 访问git仓库: Guardian-Elf/Guardian-Elf-Embedded
  2. 找到并下载IIC驱动文件(2个文件:I2C.c和I2C.h)
  3. 由于IIC文件中使用了延时函数(Delay.c/.h),所以也需要下载延时函数,当然也可以自己写一个延时函数

驱动移植

  1. 配置引脚,根据需求在代码中修改引脚
I2C.c// 引脚配置  
#define I2C_SCL_PIN GPIO_PIN_14  
#define I2C_SDA_PIN GPIO_PIN_15  
#define I2C_PORT    GPIOC  
#define HAL_RCC_GPIOx_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE()
  1. 标准库移植

若使用的是标准库,至需要将I2C_Init到I2C_R_SDA共4个函数改成标准库写法即可(可以使用AI帮你写)

事实上,我的这个驱动函数就是使用别人的标准库改的,并添加了格外的功能函数

函数解析

// 初始化void I2C_Init(void) // 初始化I2C总线的GPIO引脚(SCL和SDA),配置为开漏输出模式,并设置默认高电平// 引脚相关void I2C_W_SCL(uint8_t BitValue) // 向I2C时钟线(SCL)写入指定的电平值(0或1),并延时10微秒
void I2C_W_SDA(uint8_t BitValue) // 向I2C数据线(SDA)写入指定的电平值(0或1),并延时10微秒
uint8_t I2C_R_SDA(void) // 读取I2C数据线(SDA)的当前电平状态,并延时10微秒后返回电平值// IIC基本操作void I2C_Start(void) // 产生I2C起始信号:SCL高电平期间,SDA从高电平跳变到低电平
void I2C_Stop(void) // 产生I2C停止信号:SCL高电平期间,SDA从低电平跳变到高电平uint8_t I2C_RecvACK(void) // 接收从机发送的应答位(ACK),返回0表示应答,1表示非应答
void I2C_SendACK(uint8_t ack) // 向从机发送应答位(ACK),参数为0表示应答,1表示非应答void I2C_SendByte(uint8_t dat) // 发送一个字节数据到I2C总线,从最高位开始逐位发送
uint8_t I2C_RecvByte(void) // 从I2C总线接收一个字节数据,从最高位开始逐位接收并组装// 进一步封装常用操作uint8_t I2C_CheckDevice(uint8_t addr) // 检测指定地址的I2C设备是否存在,返回0表示设备应答存在
uint8_t I2C_ScanDevice(uint8_t* devices, uint8_t max) // 扫描I2C总线上所有设备地址(0-127),将找到的设备地址存入数组,返回找到的设备数量uint8_t I2C_ReadReg(uint8_t addr, uint8_t reg) // 从指定I2C设备的寄存器中读取一个字节数据
void I2C_WriteReg(uint8_t addr, uint8_t reg, uint8_t data) // 向指定I2C设备的寄存器写入一个字节数据void I2C_SendBytes(uint8_t addr, uint8_t *buf, uint8_t len) // 向指定I2C设备连续发送多个字节数据
void I2C_RecvBytes(uint8_t addr, uint8_t *buf, uint8_t len) // 从指定I2C设备连续接收多个字节数据

结语

如果觉得有帮助到你,就请给仓库一个 star 吧!

git仓库: Guardian-Elf/Guardian-Elf-Embedded

相关新闻

  • paperxie 文献综述功能:从 “凑文献” 到 “写透研究脉络”,这才是学术写作的正确打开方式
  • 2025年深圳夹爪厂家盘点:柔性抓取与精密力控如何选择 - 品牌2025
  • 2026年GEO优化服务商优质榜单揭晓:各行业如何借势AI搜索破局? - 品牌测评鉴赏家

最新新闻

  • 文件包含漏洞深度解析:从原理到实战利用与防御
  • 2026年值得信赖的座椅式电梯供应企业推荐 - 工业品网
  • Java 14三大核心特性:Switch表达式、模式匹配与Records实战指南
  • 英雄联盟终极工具包:3分钟掌握LCU API的完整实战指南
  • 2026年中秋员工福利团购礼盒厂家推荐与采购指南 - mypinpai
  • 短视频培训机构哪家好?AI 短视频系统实训认准莫瑶影视教育 - 教育信息网

日新闻

  • 2026速览惠州叛逆青少年学校前十大排名名单出炉 - 武汉中职最新信息发布
  • 2026上饶白蚁消杀哪家好?15年本土2大权威白蚁防治公司推荐(金盾虫控/青蚁卫士) - 我叫一
  • 天龙八部单机版终极数据管理工具:5个技巧快速掌握游戏数据编辑

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号