当前位置: 首页 > 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.dtcms.com/a/322854.html

相关文章:

  • c++ opencv调用yolo onnx文件
  • 用天气预测理解分类算法-从出门看天气到逻辑回归
  • SymPy 表达式的变量获取:深入理解与正确实践
  • 对数运算法则(rule of logarithmic operations)和对应导数关系
  • 带冷端补偿的热电偶采集方案MAX31855
  • Python(6) -- 数据容器
  • 《原型链的柔性骨架:JavaScript面向对象架 构的动态设计与演化逻辑》
  • 【线性代数】线性方程组与矩阵——(1)线性方程组与矩阵初步
  • Python中的Lambda函数详解
  • 北京JAVA基础面试30天打卡05
  • PowerShell 实战:第 6 章动手实验全攻略(含命令详解与示例)
  • Ubuntu和Windows系统Kafka配置方法
  • 模式组合应用-适配器模式
  • 光伏面板损伤检出率↑91%!陌讯多模态识别算法在无人机巡检的落地实践
  • 基于clodop和Chrome原生打印的标签实现方法与性能对比
  • 深入理解Maven BOM
  • 基于MATLAB的Halo轨道设计与可视化实现
  • [SC]SystemC 常见的编译/语法错误与解法(三)
  • PDF 转 HTML API 数据接口
  • 在Spring Boot项目中如何动态切换数据源、数据库?
  • Redis分布式锁详解:原理、实现与实战案例
  • 【C++11新特性】智能指针,右值引用,移动语义与完美转发,函数对象...
  • Linux运维新手的修炼手扎之第27天
  • pyqt5 ECU编辑demo
  • NX二次开发——面有关的函数
  • 1.2.3 迅猛发展期(2020年至今)
  • 让大模型 “睡觉”:把版本迭代当作人类睡眠来设计(附可直接改造的训练作息表与代码)
  • 104-基于Flask的优衣库销售数据可视化分析系统
  • 100-基于Python的智联招聘数据可视化分析推荐系统
  • 一周学会Matplotlib3 Python 数据可视化-网格 (Grid)