乌龟一般吃什么东西| 嗓子疼咽口水都疼吃什么药| 血液凝固快是什么原因| 视网膜脱落是什么原因引起的| 512是什么节日| 一个人自言自语的说话是什么病| 1988年是什么命| 买房要看什么| 什么药止痒效果最好| 面红耳赤是什么生肖| 冒昧是什么意思| 李自成为什么会失败| 锦绣未央什么意思| 家里消毒杀菌用什么好| 乌龟代表什么生肖| 大小脸是什么原因造成的| 做蛋糕用什么油| 中国第一长洞是什么| 祸害是什么意思| 胆汁酸是什么| 血糖的单位是什么| 59岁属什么生肖| 八月十四是什么星座| 越睡越困是什么原因| 为什么泡完脚后非常痒| 天厨贵人是什么意思| 一什么虫子| 人潮涌动是什么意思| 胃难受是什么原因| 处级上面是什么级别| 甲亢有什么反应| 玉竹有什么功效| 孔雀蓝是什么颜色| 阿司匹林肠溶片什么时候吃| 肌肉疼是什么原因| 李子什么时候吃最好| 什么是阳光抑郁症| 电音是什么意思| r0lex是什么牌子手表| 多发肿大淋巴结是什么意思| 月经不调去医院挂什么科| 性交是什么感觉| 白发缺少什么维生素| 牙龈是什么| 女性备孕吃什么养卵泡| 骨龄偏小意味着什么| 什么叫生理需求| 大便不成形是什么原因造成的| 自欺欺人什么意思| 猪八戒是什么佛| 南瓜吃了有什么好处| 聚酯纤维是什么材料| 藏医最擅长治什么病| 极光是什么意思| 胆汁反流是什么意思| hm是什么牌子的衣服| 国药准字号是什么意思| 一感冒就咳嗽是什么原因| 985学校是什么意思| kdj是什么意思| 血栓吃什么药化得快| 闹心是什么意思啊| 叶黄素对眼睛有什么好处| 子午是什么时间| 1972年五行属什么| 闲聊是什么意思| 肾虚和肾亏有什么区别| 8月6日什么星座| 手淫多了有什么坏处| 为什么睡觉总是做梦| 带状疱疹后遗神经痛挂什么科| 神经性头痛吃什么药效果好| 梦见手机丢了又找到了是什么意思| 梦见吃水饺是什么预兆| 什么能养肝| 斯德哥尔摩综合症是什么| 心脏五行属什么| 帝王蟹什么季节吃最好| 泵头是什么| 1120是什么星座| 49岁属什么| 己卯日五行属什么| 背后长痘是什么原因| 练字用什么笔好| 不吃肉对身体有什么影响| 冬至为什么吃水饺| 喉咙有白点是什么原因| 山峦是什么意思| 脾的主要功能是什么| 耳石症眩晕吃什么药| 一个黑一个俊的右边念什么| blackpink什么意思| 省内流量是什么意思| 洋葱什么时候收获| 扳机指是什么原因造成的| 钾低是什么原因造成的| 胃窦炎吃什么药效果最好| 家里适合养什么鱼| 无缘无故吐血是什么原因| 耐人寻味是什么意思| 拉肚子吃什么药比较好| 专科有什么专业| 失聪是什么原因造成的| yy飞机票是什么| 绿幽灵五行属什么| 梦见办酒席是什么意思| 无大碍是什么意思| 脸书是什么| 腿脚发麻是什么原因| 为什么吃火龙果会拉肚子| 青梅是什么水果| 急性肠胃炎应该吃什么药| 杠杆炒股是什么意思| 7.14什么星座| 差异是什么意思| 蜻蜓是什么动物| 射精太快吃什么药| ch表示什么意思| 身份证上x代表什么| 常吐痰是什么原因| hr阳性是什么意思| 心衰做什么检查能确诊| dw是什么| 好麻吉是什么意思| 有时候会感到莫名的难过是什么歌| 小孩喜欢趴着睡觉是什么原因| 感冒鼻子不通气吃什么药| 牙痛是什么原因引起的| 皮肤黑穿什么颜色的衣服好看| 脑白质变性是什么病| 轻度异常脑电图是什么意思| 什么鱼红烧最好吃| 心悸是什么感觉| 胆汁反流吃什么药| 嘴唇溃疡是什么原因| nmol是什么单位| 皮肤黄的人适合穿什么颜色的衣服| 炮制是什么意思| 灰指甲用什么药膏| 夏天喝盐水有什么好处| 什么叫贵妃镯| surprise什么意思| 复方氨酚苯海拉明片是什么药| 正常人为什么传导阻滞| 心衰是什么病| 什么奶粉比较好| 梦见朋友怀孕了是什么意思| 回门是什么意思| 烟草属于什么行业| 三十而立四十不惑什么意思| n0是什么意思| sdh是什么意思| 胎动少是什么原因| 口吃什么意思| 绩效工资是什么意思| 梦见爆炸是什么意思| 中国劲酒有什么功效| 脂肪肝可以吃什么水果| 什么原因引起脑梗| 金生水是什么意思| 什么情况下挂疼痛科| 沙中土命什么意思| 2049年是什么年| 胸腔积液是什么原因造成的| 打嗝放屁多是什么原因| 送什么小礼品好| 脉搏跳得快是什么原因| 过度紧张会有什么症状| 现在是什么时辰| 梦见男婴儿是什么意思| 总胆汁酸高吃什么药| 开塞露是什么成分| 妈富隆是什么药| 竖心旁的字与什么有关| 光什么夺目| 什么地赞叹| 尿很臭是什么原因女性| 走读生是什么意思| 女性hpv阳性是什么意思| 孕妇梦见好多蛇是什么预兆| 什么颜色代表水| 欧派什么意思| 1974年属虎是什么命| 生姜什么时候种植最合适| 中国反导弹系统叫什么| 喝茶叶茶有什么好处| hiv是什么意思| 红肉指的是什么肉| 里正是什么官| 舌苔发苦是什么原因| 为什么微信附近的人看不到我| 初伏是什么意思| 什么是糖化血红蛋白| 梦见梅花鹿是什么预兆| 一什么狮子| 右肺中叶小结节是什么意思严重吗| 麝香是什么东西| 生理期量少是什么原因| 沈阳是什么省| 脂肪肝看什么科| 心肌缺血是什么原因造成的| b型钠尿肽测定是什么检查| 孕晚期宫缩是什么感觉| 什么食物含硒| 09年的牛是什么命| 挖野菜是什么意思| 淄博有什么大学| 小鹿乱撞是什么意思| 白塞氏病是什么病| 去除扁平疣用什么药膏| 挂科是什么意思| 饭后胃疼是什么原因| 过敏挂什么科室| 多吃黑芝麻有什么好处| 晚上睡觉腿酸难受是什么原因| skg是什么品牌| 自由基是什么东西| 看脖子应该挂什么科| 太字五行属什么| 男人洁身自好什么意思| 66年出生属什么生肖| 卡卡是什么意思| 家有一老如有一宝是什么意思| 敏五行属什么| 叔叔老婆叫什么| 禅茶一味什么意思| 光是什么结构| 627是什么意思| com代表什么意思| 角膜炎吃什么药| 梦见抓了好多鱼是什么意思| 胆固醇高吃什么食物好| 脑电图是检查什么的| 喝藏红花有什么好处| 冲正是什么意思| 徒木立信是什么意思| olay是什么档次| 止血敏又叫什么| 60岁生日送什么礼物| 内敛是什么意思| 拉缸是什么意思| 吃什么补气最快| 疣体是什么病| 广州有什么山| 一什么冰箱| 美业是什么| 脚指麻木是什么病先兆| 妈妈的弟弟的老婆叫什么| 世界上最大的哺乳动物是什么| 暑假让孩子学点什么好| 什么是外阴炎| 邪不压正什么意思| 什么羽毛球拍最好| 正品行货是什么意思| 狮子座与什么星座最配| 什么牌子冰箱好| 月子餐第一周吃什么| 西湖醋鱼是什么鱼| 梦到鱼是什么意思| 病毒感染会有什么症状| 望梅止渴的梅是什么梅| 4月8日是什么星座| 四肢肌力5级什么意思| 什么时间喝牛奶最佳| 百度
发新帖本帖赏金 5.00元(功能说明)我要提问
返回列表
打印
[学习资料]

南京破涉1300万新型制售假酒案 每瓶成本不到10元

[复制链接]
1982|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 6552918 于 2023-7-30 22:04 编辑

#申请原创# #技术资源#[url=home.php?mod=space&uid=760190]@21小跑堂 [/url]
原厂例程包里的DMA例程是有错误的,编译提示有个符号是未定义的

按规格书描述修改定义如下后可以编译通过

手动为添加3个DMA请求的定义

使能DMA发送完请求

修改完上述设置,可以在串口助手内看到DMA的发送数据了

虽然功能已经实现,但不具有实际使用意义,我给大家带来具有实际意义的UART+DMA实现双缓冲的使用。
在实现的过程总过程中发现一处笔误

还发现一处严重BUG,配置时使能了空闲中断但空闲中断无法被使能

经过分析发现问题原因是,中断使能寄存器配置配置结构体中IRQEna长度为1个字节

但实际这个寄存器的大小超过了一个字节,导致初始化时bit8丢失,所以,空闲中断无法被使能

需要将IRQEna改为uint16_t才行

接下来看看UART+DMA实现高效收发是如何实现的吧
本例程实现功能如下:
1实现UART0和UART1使用DMA发送数据
2实现UART0和UART1使用DMA接收不定长度数据
3实现UART0和UART1使用DMA接收数据的双缓冲方式
初始化需要实现DMA GPIO UART NVIC等的初始化。先关具体实现都在UART_DMA.c和UART_DMA.h文件内。

DMA初始化配置
UART0 TX使用DMA通道0,UART0 RX使用DMA通道1;
UART1 TX使用DMA通道2,UART0 RX使用DMA通道3;
发送通道在发送数据时才能使能,因此在初始化时是不使能的,这里需要注意一下。


GPIO初始化配置
UART0_RXD  P0.15;UART0_TXD  P1.0
UART1_RXD  P2.8;UART1_TXD  P3.9

UART初始化配置
串口中断使用了,空闲中断,用于不定长度数据结尾的判断
DMA请求使用了 收完成DMA请求 和 送缓冲区空 DMA 请求,用于数据收发的DMA请求。

NVIC初始化配置
使用了DMA中断,用于DMA传输完成处理(接收区收满数据情况)
UART0和UART1中断,用于空闲中断处理(接收一帧完成)

DMA中断
通道1是UART0 RX使用
通道3是UART1 RX使用

我们看看DMA中断内的数据接收处理

串口中断
仅处理了空闲中断,用于判断数据帧接收完成。
进入这个中断有3中情况
1接收数据长度不到DMA传输次数时,检测到空闲
2接收数据长度等于DMA传输次数时,检测到空闲
3接收数据长度大于DMA传输次数时,检测到空闲

我们再来看一下,接收数据的处理,

当接收数据长度等于DMA传输次数时,检测到空闲 和 接收数据长度大于DMA传输次数时,检测到空闲,这两种情况是先进入DMA中断再进入串口中断的,数据在DMA中断中就已经拷贝和切换过缓冲区,所以数据不存在丢包和覆盖问题。
开启调试输出后测试效果如下

因为这款MCU的DMA没有DMA半传输中断或硬件双缓存功能,所以实现双缓存只能采用软件方式。

例程源码如下: Demo29_UART_DMA.zip (2 MB)

打赏榜单

15279701520 打赏了 5.00 元 2025-08-04
理由:写的很详细,很好,官网例程有很多BUG

沙发
caigang13| | 2023-8-2 18:18 | 只看该作者
官方的例程都跑一下测试就放出来了吗?
板凳
6552918|  楼主 | 2023-8-2 20:00 | 只看该作者
caigang13 发表于 2023-8-2 18:18
官方的例程都跑一下测试就放出来了吗?

原厂例程就没有用空闲中断的例程,怎么会容易发现。。。
地板
木鱼21| | 2025-7-29 19:52 | 只看该作者
你好,手册上,不是说发送、接收不能都使用dma吗?
5
6552918|  楼主 | 2025-7-30 09:29 | 只看该作者
木鱼21 发表于 2025-7-29 19:52
你好,手册上,不是说发送、接收不能都使用dma吗?

我测试时是可以使用的
6
木鱼21| | 2025-7-30 18:51 | 只看该作者
6552918 发表于 2025-7-30 09:29
我测试时是可以使用的

感谢,不过我看了08的um,没有上面的DNA空闲中断信息了,已经改过来了,不知道什么适配了……
还有,能请教一下,mcpwm持续输出高低电平吗?以及输出指定pwm脉冲个数。

我想使用mcpwm中断来计数实现脉冲个数,但是持续输出高低电平,我设置thxx的比较值,不知道是不是死区影响,无法完全拉低、拉高
7
6552918|  楼主 | 2025-7-31 09:40 | 只看该作者
木鱼21 发表于 2025-7-30 18:51
感谢,不过我看了08的um,没有上面的DNA空闲中断信息了,已经改过来了,不知道什么适配了……
还有,能请 ...

理论上你的需求都可以实现,但我最近没看这款芯片,我发提供具体的实现方式。
发新帖 本帖赏金 5.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:北京汇冠触摸技术有限公司/电子工程师
简介:电子工程师,嵌入式应用爱好者。

102

主题

1289

帖子

10

粉丝
驻村是什么意思 散光跟近视有什么区别 胃不舒服挂什么科 什么是正念 银鱼是什么鱼
远山含黛是什么意思 倒班是什么意思 npn是什么意思 紫苏泡水喝有什么好处 蓝柑是什么水果
ais什么意思 头皮屑多是什么原因怎么去除 为什么会突然长智齿 经常流鼻涕是什么原因 嘴角长疱疹是什么原因
成吉思汗是什么意思 2019年什么生肖 健康管理是干什么的 为什么会便秘 来来来喝完这杯还有三杯是什么歌
抗结剂对人有什么伤害hcv8jop0ns1r.cn 对药物过敏是什么症状hcv7jop5ns5r.cn 孩子鼻子流鼻血是什么原因luyiluode.com 完美收官什么意思naasee.com 植物神经紊乱中医叫什么病hcv9jop4ns7r.cn
圣人是什么意思hcv8jop8ns5r.cn 任字五行属什么hcv9jop5ns1r.cn 龙王庙是指什么生肖hcv9jop7ns3r.cn 什么叫游走性关节疼痛bfb118.com ABB式的词语有什么hcv9jop4ns7r.cn
salomon是什么牌子0297y7.com 夹不住尿是什么原因hcv8jop7ns6r.cn 潮热是什么意思hcv8jop4ns7r.cn 5岁属什么生肖hcv8jop7ns1r.cn 道地是什么意思xscnpatent.com
青柠檬和黄柠檬有什么区别hcv8jop7ns8r.cn 折叠胆囊是什么意思hcv7jop6ns7r.cn 三湖慈鲷可以和什么鱼混养aiwuzhiyu.com 胆碱酯酶是什么意思hcv9jop0ns4r.cn lbs什么意思hcv8jop5ns5r.cn
百度