打印
[技术问答]

关于华大HC32F030 DMA传输问题

[复制链接]
1162|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hzmagnet|  楼主 | 2019-12-23 21:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
DMA, HC, AD, ADC, dc
按照官方例程里的程序配置ADC触发DMA传输,ADC为双通道,BC = 3,TC = 5;突发模式,按照手册上的说法应该是一次传输2个ADC通道上的数据,传输4次,DMA传输结束。为什么我的目标数组里只有前两个元素AD值在跳动,其他都是0.

使用特权

评论回复
沙发
martinhu| | 2019-12-24 14:31 | 只看该作者
你说的TC次数和BC次数是指寄存器的值吗?BC = 3,TC = 5;如果是寄存器的值,应该是传输6次,每次4个数据
如果是库函数的,应该就是传输5次每次3个数据
ADC采样完成触发DMA传输,如果是3路ADC采样,用库函数,应该是TC为1,BC为3,这样3路ADC采样完了,触发DMA把3个结果传出来
而且ADC必须从结果寄存器0开始传输。

使用特权

评论回复
评论
martinhu 2019-12-25 19:29 回复TA
@hzmagnet :但是如果TC不为零,源地址是无法重载的好像是 
hzmagnet 2019-12-24 14:52 回复TA
你好,谢回复。我的意思是比如我用一个数组a[15]来存放3个AD采样的通道数据。我希望a[0],a[3],a[6],a[9], a[12]存放着通道1的数据。以此类推a[1],a[4],a[7],a[10],a[13]的存放着通道2的数据。。。。。这样可以把同一通道的数据加起来做平均滤波。 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

19

帖子

0

粉丝