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

【STM32】IIC使用中DMA传输时 发送数据总少一个的问题

问题描述

在使用STM32 I2C数据发送过程中,发现每轮实际发送出去的数据总比在DMA配置中设定的传输数据个数要少一个。比方说:DMA配置里设定的传输数据个数是10个,结果发现在总线上只能发出9个,经过进一步发现是少了最后一个数据。当对I2C接收到的数据进行DMA传输时,没有异常。

关于I2C的DMA传输,STM32技术参考手册部分有这么一段话:

在这里插入图片描述
意思是说当DMA产生EOT标志后,(如果开启了EOT相关中断就进中断程序,没有开启就进行软件查询做后续处理)关闭DMA请求,然后等待BTF事件,之后执行STOP操作。

这里的BTF事件就是I2C数据收发过程中的数据字节是否传输完成的的事件。SR寄存器中的一个位
在这里插入图片描述

查看关于I2C发送代码,发现他在检测到DMA产生EOT标志后,他首先就是做的STOP操作,然后关闭相关DMA请求。代码里没有检测BTF标志的过程。

这样做就会导致个问题。在最后一次DMA数据传输完成后,数据刚放进I2C的DR寄存器,还没来得及把这个新数据通过I2C发送出去,因为用户程序立即做了STOP操作,最后那个数据无法传输。

相关文章:

【STM32】IIC使用中DMA传输时 发送数据总少一个的问题

问题描述 在使用STM32 I2C数据发送过程中,发现每轮实际发送出去的数据总比在DMA配置中设定的传输数据个数要少一个。比方说:DMA配置里设定的传输数据个数是10个,结果发现在总线上只能发出9个,经过进一步发现是少了最后一个数据。…...

记录layui数据表格使用文件上传按钮

一、前言 虽然用到这种的情况不多&#xff0c;但是还是记录下 二、相关代码 <!DOCTYPE html> <html> <head><meta http-equiv"Content-Type" content"text/html;charsetutf-8"/><meta name"renderer" content&quo…...

c++之枚举

1、背景 在开发代码的过程中&#xff0c;vector类型数组a的index取了一个枚举值CTR&#xff0c;eg&#xff1a;a[CTR]&#xff0c;刚开始以为是map类型&#xff0c;后面看不是&#xff0c;简单的看了下c的enum类型&#xff0c;原来enum按顺序默认为数字。 2、enum简介 2.1、…...

LeetCode 热题 100(七):105. 从前序与中序遍历序列构造二叉树、14. 二叉树展开为链表

题目一&#xff1a; 105. 从前序与中序遍历序列构造二叉树https://leetcode.cn/problems/construct-binary-tree-from-preorder-and-inorder-traversal/ 思路&#xff1a;依据前序遍历的根左右和中序遍历的左根右&#xff0c; 且根左长度&#xff1d;左根 代码&#xff1a; …...

机器学习笔记 - 在表格数据上应用高斯混合GMM和网格搜索GridSearchCV提高分类精度的机器学习案例

1、需求及数据集说明 这是一项二分类任务,评估的是分类准确性(正确预测的标签百分比)。训练集有1000个样本,测试集有9000个样本。你的预测应该是一个9000 x 1的向量。您还需要一个Id列(1到9000),并且应该包括一个标题。格式如下所示: Id,Solution 1,0 2,1 3,1 ... 900…...

【UE 材质】模型部分透明

材质节点如下&#xff0c;这里简单解释一下。首先通过“Mask”节点将"Texture Coordinate" 节点中的“G”通道分离出来&#xff0c;然后通过“if”节点进行判断&#xff0c;当值小于0.5时为透明&#xff0c;当颜色不小于5时为不透明。可以通过一个参数来控制模型透明…...

Web3 社交平台如何脱颖而出?我们和 PoPP 聊了聊

能够颠覆 Web2 传统模式的社交产品有着怎样的特征&#xff1f;PoPP 作为专注于 Web3 的私域流量变现平台&#xff0c;为开发者和用户提供了社交产品发展的新路径&#xff0c;让社区用户充分实现互动交流&#xff0c;着力于创作内容的激励与变现。事实上&#xff0c;面对 Web3 社…...

【Android】ARouter新手快速入门

什么是ARouter ARouter是阿里巴巴推出的一款android界面路由框架 ARouter解决的核心问题是什么 在大型的模块化项目中&#xff0c;一个模块&#xff0c;往往无法直接访问到其它模块中的类&#xff0c;必须通过其它方式来完成模块间的调用 ARouter的核心功能在于&#xff0c…...

基于VUE3+Layui从头搭建通用后台管理系统(前端篇)十一:通用表单组件封装实现

一、本章内容 本章实现通用表单组件,根据实体配置识别实体属性,并自动生成编辑组件,实现对应数据填充、校验及保存等逻辑。 1. 详细课程地址: 待发布 2. 源码下载地址: 待发布 二、界面预览 三、开发视频 3.1 B站视频地址:...

Oracle Scheduler学习

参考文档&#xff1a; Primary Note: Overview of Oracle Scheduler (Doc ID 1485539.1) Oracle Database Administrators Guide 12c Release 1 (12.1) E17636-21 Chapter(30) Administering Oracle Scheduler Examples of Using the Scheduler http://docs.oracle.com/cd/E166…...

用户体验地图是什么?UX设计心得分享

大家好&#xff0c;我是设计师l1m0身。本篇文章是关于UX设计中的用户体验地图。 对于新手设计师来说&#xff0c;建立用户体验地图会有一些难度。本篇文章中&#xff0c;我会以简单、易懂的语言分享UX设计师如何制作用户体验地图&#xff0c;希望对你的日常项目体验提升有所帮…...

vue3动态路由警告问题

{ path: "/:pathMatch(.*)*", // 必备 component: () > import("/views/error/404.vue"), }, 路由里添加...

17 Linux之大数据定制篇-Shell编程

17 Linux之大数据定制篇-Shell编程 文章目录 17 Linux之大数据定制篇-Shell编程17.1 Shell编程简介17.1.1 为什么要学习Shell编程17.1.2 Shell是什么17.1.3 执行Shell脚本 17.2 Shell的变量17.2.1 Shell变量介绍17.2.2 设置环境变量17.2.3 位置参数变量17.2.4 预定义变量 17.3 …...

SpringBoot集成WebSocket

SpringBoot集成WebSocket 项目结构图 项目架构图 前端项目 socket.js 注意前端这里的端口是9000, 路劲是ws开头 function createScoket(token){var socket;if(typeof(WebSocket) "undefined") {console.log("您的浏览器不支持WebSocket");}else{var ho…...

Linux服务器部署JavaWeb后端项目

适用于&#xff1a;MVVM前后台分离开发、部署、域名配置 前端&#xff1a;Vue 后端&#xff1a;Spring Boot 这篇文章只讲后端部署&#xff0c;前端部署戳这里 目录 Step1&#xff1a;服务器上搭建后端所需环境1、更新服务器软件包2、安装JDK83、安装MySQL4、登录MySQL5、修…...

原生小程序 wxs 语法(详细)

WXS WXS&#xff08;WeiXin Script&#xff09;是内联在 WXML 中的脚本段。通过 WXS 可以在模版中内联少量处理脚本&#xff0c;丰富模板的数据预处理能力。另外&#xff0c; WXS 还可以用来编写简单的 WXS 事件响应函数。 从语法上看&#xff0c; WXS 类似于有少量限制的 Java…...

MySQL中count(*)和count(1)和count(column)使用比较

分页查询数据&#xff0c;需要返回total&#xff0c;而这个值一般都是通过count函数实现。但是&#xff0c;针对count函数&#xff0c;有多种写法&#xff0c;如count(*)、count(1) 和 count(column)等。本文主要介绍以上几种写法的差异。 注意&#xff0c;这里仅针对MySQL数据…...

python用 xlwings库对Excel进行 字体、边框设置、合并单元格, 版本转换等操作

xlwings 其他的一些单元格读取写入操作网上很多&#xff0c; 下面就写些如何设置单元格的 字体对齐&#xff0c;字体大小、边框&#xff0c; 合并单元格&#xff0c; 这些设置。 import xlwings as xwapp xw.App(visibleTrue, add_bookFalse) app.display_alerts False #…...

Golang 中的 archive/zip 包详解(二):常用类型

Golang 中的 archive/zip 包用于处理 ZIP 格式的压缩文件&#xff0c;提供了一系列用于创建、读取和解压缩 ZIP 格式文件的函数和类型&#xff0c;使用起来非常方便。 zip.File 类型 定义如下&#xff1a; type File struct {FileHeaderzip *Readerzipr io…...

Qt应用开发(基础篇)——错误提示框 QErrorMessage

一、前言 QErrorMessage类继承于QDialog&#xff0c;是一个用来显示错误信息的对话框。 提示框QDialog 消息对话框 QMessageBox QErrorMessage错误消息对话框提供了一个主文本窗口、一个复选框、一个图标和按钮。文本框用来显示错误信息&#xff0c;复选框用来让用户选择未来是…...

WenShape文生3D模型:基于One-2-3-45框架的开源3D资产生成工具项目深度解析

WenShape文生3D模型&#xff1a;基于One-2-3-45框架的开源3D资产生成工具项目深度解析 项目简介 WenShape 是一个基于 One-2-3-45 技术框架开发的开源“文生3D”模型生成系统&#xff0c;旨在通过文本指令快速、高效地生成高质量3D模型资产。该项目由 unitagain 维护&#xff0…...

拒绝C盘爆红!自制 Windows 系统垃圾一键清理工具(精美UI设计)

你的 C盤 又红了吗&#xff1f;相信很多 Windows 用户都经历过被 **“C盘空间不足”** 支配的恐惧。随着日常办公、浏览网页、系统更新&#xff0c;各种临时文件和日志会悄悄吞噬掉我们珍贵的固态硬盘空间。市面上的清理软件鱼龙混杂&#xff0c;要么捆绑软件&#xff0c;要么后…...

一文讲透|盘点2026年标杆级的AI论文网站

一天写完毕业论文在2026年已不再是天方夜谭。以下是2026年最炸裂、实测能大幅提速的AI论文网站神器&#xff0c;覆盖全流程生成、文献处理、降重润色、格式排版四大核心场景&#xff0c;帮你高效搞定毕业论文。 一、全流程王者&#xff1a;一站式搞定论文全链路&#xff08;一天…...

2026年同步网盘哪个好?10款支持本地文件夹自动同步与实时备份工具盘点

在 2026 年&#xff0c;数据即资产。传统“手动上传”已难以满足高频办公&#xff1a;文件一多就容易漏传、版本混乱、协作效率下降。本地文件夹自动同步&#xff08;落盘即上云&#xff09;正在成为衡量网盘生产力的核心指标——既能防止硬盘故障导致的数据丢失&#xff0c;也…...

毕业论文神器!高效论文写作全流程AI论文写作工具推荐(2026 最新)

论文写作全流程可拆解为文献调研→选题/开题→大纲/初稿→文献综述→降重/去AI味→润色/格式→查重/投稿七大环节&#xff0c;2026年AI论文写作工具按环节精准匹配&#xff0c;兼顾中文适配、降重能力、去AI痕迹、学术合规四大核心需求&#xff0c;覆盖免费/付费、通用/垂直场景…...

“文章同步助手” Wechatsync 连接到WordPress独立站

“文章同步助手” Wechatsync 浏览器插件&#xff0c;可以将文章一键分发到包括WordPress在内的二十多个内容平台- 。这连接逻辑本质上都是调用WordPress的REST API来建立连接。 &#x1f50c; 连接独立站 WordPress 的操作流程 要实现同步&#xff0c;你需要在浏览器插件中配置…...

什么样的落地灯对小孩看书好?家长首选落地灯推荐清单,优选品质

选护眼大路灯这事吧&#xff0c;我以前也踩过坑&#xff1a;有的灯亮是亮&#xff0c;但眩光明显&#xff0c;盯久了眼睛就发干&#xff1b;还有的调亮度很难掌控&#xff0c;忽明忽暗看着就累。所以我比较在意什么样的落地灯对小孩看书好&#xff1f;下面给大家挑了5款口碑不错…...

明日方舟智能基建管理终极指南:5分钟实现全自动资源生产

明日方舟智能基建管理终极指南&#xff1a;5分钟实现全自动资源生产 【免费下载链接】arknights-mower 《明日方舟》长草助手 项目地址: https://gitcode.com/gh_mirrors/ar/arknights-mower 还在为《明日方舟》繁琐的基建管理而头疼吗&#xff1f;每天花费大量时间手动…...

ops-rand:AI 训练中的随机数生成

AI 训练离不开随机数。权重初始化要随机、Dropout 要随机、数据打乱要随机、噪声注入要随机。每一次随机操作的背后&#xff0c;都有一组随机数生成器在工作。 CANN 的 ops-rand 仓库提供了 NPU 上的随机数生成算子——Dropout、随机 Shuffle、随机初始化、正态分布采样等。这…...

使用 Taotoken 管理多个 API Key 并设置访问权限与审计

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 使用 Taotoken 管理多个 API Key 并设置访问权限与审计 在开发和集成大模型应用时&#xff0c;一个常见的需求是为不同的应用、环境…...