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

I2CHAL库接口

一.非阻塞中断与DMA方式

1.Master模式

通过中断或DMA方式发送

HAL_I2C_Master_Transmit_IT();  主设备发送数据给从设备

HAL_I2C_Master_Transmit_DMA(); 主设备发送数据给从设备

这两个函数为非阻塞版本,调用完后,会马上返回,如果要发送一个完整的数据,不然数据错误的话,最好实现同步

可以利用freertos的同步机制来实现数据的同步,例如信号量,事件组,这样我们发出数据以后数据正确,发送完成会调用回调函数。

通过中断或DMA方式接收

HAL_I2C_Master_Receive_IT

HAL_I2C_Master_Receive_DMA()

接收完成调用回调函数HAL_I2C_MasterRxCpltCallback();

2.Memory模式

主设备向从设备的指定内存地址写入数据

数据发送完成后后产生发送完成中断,会调用这个发送完成中断回调处理函数

HAL_I2C_MemTxCpltCallback()接收

读,从指定从设备寄存器读数据,从Memory中断或DMA接收完成后会触发中断接收完成回调函数,

HAL_I2C_MemRxCpltCallback();接收完成后的同步在回调函数处理

二.OLED显示屏驱动的移植

后续继续

http://www.xdnf.cn/news/1271305.html

相关文章:

  • MCU-基于TC397的启动流程
  • nginx高性能web服务器
  • BroadcastChannel:轻松实现前端跨页面通信
  • 使用 Ansys Discovery 进行动态设计和分析
  • ​​​​​​​【Datawhale AI夏令营】多模态RAG财报问答挑战赛:学习笔记与上分思考
  • Java基础-完成局域网内沟通软件的开发
  • B.10.01.5-电商系统的设计模式应用实战
  • Day 8: 深度学习综合实战与进阶技术 - 从优化到部署的完整流程
  • 【Datawhale AI夏令营】从Baseline到SOTA:深度剖析金融问答RAG管道优化之路
  • Mybatis进阶
  • 机器学习第七课之支持向量机SVM
  • 本地进行语音文字互转
  • P1890 gcd区间
  • C++11中的移动语义
  • 【无标题】AI 赋能日常效率:实用案例与操作心得分享
  • B.10.01.6-DDD领域驱动设计:从理论到落地的完整指南
  • 数据挖掘2.6 Perceptron Modeling 感知器建模
  • Qdrant Filtering:must / should / must_not 全解析(含 Python 实操)
  • 心灵笔记:正念冥想
  • 解决python错误:playwright._impl._errors.TimeoutError: Timeout 30000ms exceeded.
  • 3.5.2_1 随机访问介质访问控制
  • Python中的Lambda函数详解
  • 【排序算法】④堆排序
  • NTP /Chrony 网络时间协议
  • Leetcode-19. 删除链表的倒数第 N 个结点
  • 比较useCallback、useMemo 和 React.memo
  • 机器学习 K-Means聚类 无监督学习
  • 第4章 程序段的反复执行for语句P115练习题(题及答案)
  • 元宇宙技术如何改变社交方式?
  • 哈希与安全