你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

对于ADC DMA的疑问

[复制链接]
liweizhang 提问时间:2020-12-1 15:23 /
在编写adc dma方式采集多路数据时,注意到dma里面有个circular模式,看f429英文手册page315,对该模式解释:When the circular mode is activated, the number of data items to be transferred is
automatically reloaded with the initial value programmed during the stream configuration
phase, and the DMA requests continue to be served.
应该是每次传输完成以后,继续重复传输,这样会不会一直占用系统总线,导致单片机cortex核无法使用总线?

请指点一下迷津,先谢谢啦


收藏 评论6 发布时间:2020-12-1 15:23

举报

6个回答
小歆-2051663 回答时间:2020-12-1 15:44:58
不会,DMA只有在AD转换完成将AD结果写入内存时才会占用总线,AD转换过中是不会占用总线的。
七哥 回答时间:2020-12-1 16:02:11
放心,DMA和CPU尽管使用同一组系统总线,但是有仲裁机制。
任何时间DMA占用的时间都不会超过系统总线周期的一半。
小小超 回答时间:2020-12-1 16:57:01
DMA不会占用CPU的。。
liweizhang 回答时间:2020-12-1 19:09:43
谢谢大家了
liweizhang 回答时间:2020-12-2 12:30:10
另外,还有个问题麻烦一下大家。
用cubemx生成的代码,运行在原子的阿波罗F429开发板上,采集ADC数据一直变化,检测的电压值与实际值一致。

将同样的cubemx工程(仅修改了打印数据的串口和系统时钟),运行在自行设计的电路板上,采集的ADC数据一直没有变化,总是0x03FF, 请问应该从那里着手呢?
liweizhang 回答时间:2020-12-2 13:34:45
liweizhang 发表于 2020-12-2 12:30
另外,还有个问题麻烦一下大家。
用cubemx生成的代码,运行在原子的阿波罗F429开发板上,采集ADC数据一直变 ...

弄错了,REF 3.3V芯片忘记焊接了
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版