关于用串口IDLE中断,DMA_GetCurrDataCounter()函数值不变的问题
把STM32F103C8T6的USART1 RX配置成用DMA接收,再打开IDLED中断,
然后再在IDLE中断时读取DMA的数据,这时就要去读取DMA_GetCurrDataCounter(DMA1_Channel5);有传输了多少人数据。
但是,每次读到的数值都是不变的!!!可是DMA读出来的数据都是正确的。到底是什么原因呢。
然后仔细观察数据时会发现,每次IDLE时读到的数据都是上一帧的数据。这TM奇怪了。都怀疑人生了。
最后误打误撞时发现,进IDLED中断后要读SR,然后读DR寄存器才能清除本次中断,不然下次进来还是这次中断,下下次才是次中断。
temp=USART1->SR;
temp=USART1->DR;
之前一直不行原来是自己把USART1写成USART4了。。。。。。。。
关于用串口IDLE中断,DMA_GetCurrDataCounter()函数值不变的问题相关推荐
- STM32使用串口IDLE中断的两种接收不定长数据的方式
现在有很多数据处理都要用到不定长数据,而单片机串口的RXNE中断一次只能接收一个字节的数据,没有缓冲区,无法接收一帧多个数据,现提供两种利用串口IDLE空闲中断的方式接收一帧数据,方法如下: 方法1: ...
- STM32串口IDLE中断
stm32串口的收发似乎不太一样,发只要你把数据送出去就行了,电脑会自动读取(电脑不知道你啥时候发,总不能一直等你的数据吧),而你的stm32要接受一个数据呢?一直在USART_ReceiveData ...
- 串口IDLE空闲中断+DMA实现接收不定长数据基于stm32cubemx
引言:对于串口接收一些不定长的数据,必须面对一个问题:怎么判断一帧数据接收是否完成?通常使用RXNE非空中断配合简单的数据协议,在数据中加入帧头.帧尾,在程序中判断是否接收到帧尾来确定数据接收完毕,因 ...
- 如何接收串口数据_UART IDLE 中断使用接收不定长串口数据
前言 在串口通信应用中,我们常使用接受和发送中断,相信大家都不陌生.这里有个非常有用的中断可能被大家所忽略,即总线IDLE中断.当一帧数据传输结束之后,总线会维持高电平状态,此时,就可以触发MCU的I ...
- STM32 HAL CubeMX 串口IDLE接收空闲中断+DMA
关于DMA原理部分讲解,及CubeMx配置部分,请参考该文章 [STM32]HAL库 STM32CubeMX教程十一-DMA (串口DMA发送接收) 本篇文章我们仅针对例程进行详解剖析 历程详解 详解 ...
- stm32的rxne和idle中断_STM32 HAL CubeMX 串口IDLE接收空闲中断+DMA
历程详解 详解包括: 中断原理讲解 例程流程详解 库函数分析详解 对应寄存器介绍 对应函数介绍 对应注释详解 本篇文章提供两种方法: 一种是 :IDLE 接收空闲中断+DMA 一种是: IDLE 接收 ...
- CubeMX STM32串口1DMA使用IDLE中断接收、串口2DMA接收DMX512信号(标准)
CubeMX STM32串口1DMA使用IDLE中断接收.串口2DMA收发DMX512信号(标准) DMX512协议 CubeMX 代码部分 串口1 串口2 外部中断 定时器1 总结 DMX512协议 ...
- STM32CubeMX系列教程8:配置工程模板(串口+不定长数据收发+DMA+IDLE中断+软中断)
文章目录 摘要 生成工程 配置外设 1.配置时钟与Debug 2.配置串口与DMA 3.配置定时器与中断 配置时钟树 配置工程设置 点击`GENERATE CODE`生成工程 修改源码 配置软中断 配 ...
- STM32单片机串口空闲中断+DMA接收不定长数据
在上一篇文章STM32单片机串口空闲中断接收不定长数据中介绍了利用串口空闲中断接收不定长数据,这种方式有一个问题就是串口每接收到一个字节就会进入一次中断,如果发送的数据比较频繁,那么串口中断就会不停打 ...
最新文章
- 成立阿里大农业兄弟连-万祥军:农民丰收节交易会乡村脱贫
- matlab求解极限与倒数,matlab实验二__极限与导数
- spark sql基本使用方法介绍(转载)
- LuoguP4606 [SDOI2018]战略游戏
- 技术情报局(笛卡尔树)
- windows分辨率修改工具_小视频压缩、倒放,这些小工具轻松搞定
- struts2+spring 项目中配置tiles的解决方案
- 「leetcode」18. 四数之和:双指针法
- access2016访问mysql_关于VB连接access2016数据库
- [转载]宋宝华:世上最好的共享内存(Linux共享内存最透彻的一篇)
- 总结一下Android中主题(Theme)的正确玩法
- 深度揭秘Greenplum数据库透明加密
- Android 测试工具集01
- 将华氏度转换为摄氏度的简单代码
- 输入圆的半径,计算圆的面积和周长。
- PreAngel投资过的公司列表
- 还没新上市华为鸿蒙os,搭载华为操作系统的新机或年内上市 华为自研操作系统是鸿蒙还是OS?...
- 【C语言】将十进制数转化为二进制并输出
- PHP-Swoole+tp3+websocket+redis,利用接口制作客服实时对话聊天服务器
- 微平均 宏平均 微平均(准确率、召回率、f1-score相等) 以及 TP、TN、FP、FN的理解
热门文章
- Angular No provider for EffectsRootModule错误消息的出现原因和修复方式
- 我司编写Angular单元测试的一些非正式规范
- SAP C4C,CRM和S4HANA的Saved Query使用介绍
- JSP里的System.out.println
- 在SAP Hybris commerce Storefront里购物下单
- 如何使用API的方式消费SAP Commerce Cloud的订单服务
- SAP UI5 view controller lifecycle discussion - onInit
- Product Long text - children usage
- How to get user parameter settings
- Jerry 2016年5月20日到5月23日的学习笔记