我在用STM32串口DMA接收数据时,为什么在接收过程中,我的程序停止运行了,接收完成后又开始运行,求解? 5

 我来答
小姝97
2012-12-05 · TA获得超过347个赞
知道小有建树答主
回答量:105
采纳率:0%
帮助的人:63.8万
展开全部
亲,您用DMA都没有看说明的么?DMA传输数据的时候会占用系统总线,这时候CPU除了能够做运算之外什么事情都干不了,只有等DMA完成数据传输之后,才会把系统数据总线交给CPU,所以你接收数据的时候程序看起来好像就是停止运行的,当你接收完成之后,DMA释放了数据总线,这时候CPU才又开始执行程序...具体内容建议你还是看一下datasheet吧
zhangjiayue123
推荐于2018-04-19
知道答主
回答量:7
采纳率:100%
帮助的人:3.5万
展开全部
STM32F10X芯片手册中写道,当CPU接到DMA请求后,会停止若干个时钟周期,等待总线仲裁,仲裁完成后DMA和CPU各分一半的数据总线,CPU不会停止工作,只是部分总线被占用,运行变慢。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
joodoo75
2012-12-10 · TA获得超过449个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:92.7万
展开全部
总线有冲突吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
后曼珠22
2012-12-05 · TA获得超过108个赞
知道小有建树答主
回答量:228
采纳率:0%
帮助的人:108万
展开全部
发程序看看。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式