当前位置: 首页 > news >正文

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

下载方法

  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

http://www.jsqmd.com/news/123001/

相关文章:

  • 2025年矿用防爆振动电机直销厂家权威推荐榜单:三段式长杆防爆振动电机/煤安防爆振动电机/粉尘防爆振动电机源头厂家精选 - 品牌推荐官
  • 三维多无人机领航-跟随编队与势场避障仿真
  • 国产替代实测HT-LFCN-400+
  • Open-AutoGLM如何做到毫秒级消息触达?出餐提醒背后的黑科技
  • 2025年污水处理聚丙烯酰胺制造厂权威推荐榜单:聚丙烯酰胺乳液/水处理聚丙烯酰胺/聚丙烯酰胺源头厂家精选 - 品牌推荐官
  • 2026年GEO优化服务商优质榜单揭晓:教育行业如何借势AI搜索破局? - 品牌测评鉴赏家
  • paperxie 文献综述功能:从 “凑文献” 到 “写透研究脉络”,这才是学术写作的正确打开方式
  • 基于51单片机的智能大棚控制器设计
  • 基于Python的肝癌医学影像分割模型校准系统
  • 2025年深圳夹爪厂家盘点:柔性抓取与精密力控如何选择 - 品牌2025
  • 2025年12月西安全屋定制/个性化全屋定制/别墅全屋定制/别墅木作定制/整木定制/设计公司top5精选推荐 - 2025年品牌推荐榜
  • py每日spider案例之某website壁纸接口
  • 解决typora默认行距过宽
  • 本地商户信息频繁出错?Open-AutoGLM智能修复方案来了,7步搞定数据一致性
  • 2026年GEO优化服务商优质榜单揭晓:各行业如何借势AI搜索破局? - 品牌测评鉴赏家
  • 【旅游平台稳定性提升指南】:基于Open-AutoGLM的订单熔断与重试设计实践
  • springboot传统文化宣传比赛网站系统_bi31k9m7
  • 【AI+物流新范式】:Open-AutoGLM驱动下的外卖轨迹跟踪5步落地法
  • 快速生成 vue2 模版代码
  • 2025年12月聚合氯化铝厂家,水处理用聚合氯化铝,聚合氯化铝品牌公司推荐:行业测评与选择指南 - 品牌鉴赏师
  • 第7章树和二叉树:树和森林的遍历
  • 专业汇智 联通国际:Cylinco Group郭石龙先生获任尼日利亚驻华大使馆特邀证券顾问 - 博客万
  • 2025年企业首选:十大高口碑BIP系统深度解析,易代账/好业财/税务云/协同云/用友 T3/财务云/好生意/人力云BIP服务商口碑排行 - 品牌推荐师
  • 2025-2026通州区婚姻家事律师事务所靠谱榜测评指南 - 苏木2025
  • 2025年西安全屋定制/高端全屋定制/别墅全屋定制/个性化全屋定制设计公司推荐top6精选榜单 - 2025年品牌推荐榜
  • 2025年靠谱郴州叛逆管教学校排行榜,新测评精选叛逆教育学校推荐 - myqiye
  • 集群无人机轨迹跟踪与故障响应分析的研究源程序与中文参考学术文档
  • 基于STM32的智能窗户窗帘晾衣架雨滴光照检测系统设计
  • LangFlow镜像微服务改造:拆分模块提升系统灵活性
  • 从零搭建AI报表系统,基于Open-AutoGLM的电商数据自动化全解析