ADC多通道使用DMA传输的理由

ADC多通道使用是转换的数据都存储在哪里?

ADC的多通道的数据只有一个存储的地方,那就是选择了对应的通道的寄存器,比如我们选择了规则通道,那么之后,我们的数据在抓换之后就会放下规则通道的寄存器中。而规则通道的寄存器的位置是有限的,只有16位数。也就是说,当你只使用一个通道进行数据传输的时候,是不用担心数据别覆盖的问题,因为都是测量的同一个通道的数据,只是你改变了外边模拟信号的状态之后,打印出来数字的响应快慢而已。

ADC的DMA的各自的模式选择

ADC的模式选择有两种,一个是扫描模式,一个是连续转换模式。当你开启扫描模式的时候,在转换数据的时候会按照通道的顺序,依次转换已经开启通道的数据,然后传输到规则通道寄存器中。而连续转换模式是,当你转换了一轮的时候,是否需要继续转换,这和DMA中的循环模式有点像,但是不完全一样的。

DMA只有一种模式,那就是循环模式。这里的循环模式有很多特性在手册上没有提及过。首先循环模式是什么意思呢?循环模式就是当你DMA传输完成了指定的,在外设地址寄存器和内存寄存器以及传输数量的指定的传输任务之后,会再次的将这些任务再次的执行一遍,那么这个时候就需要说说循环模式是怎么影响着三个寄存器中的值的。一般来说,如果你没有开启循环模式的话,当传输数量为0的时候,那么后续的数据就不会发生传输了,其中内存的偏移的位置也不会再移动了,就是利用传输数据的多少了限制内存中地址的偏移。那么数据传输完了第一次之后,数据就不会发生传输了。但是如果开启了循环模式的话,循环模式的作用会将每次一轮传输完了之后,重置外设地址寄存器,内存地址寄存器(将这个寄存器的值重置),和传输数量的寄存器也一样重新置位。可以理解为上述的三个寄存器的旁边有一个隐式的重装载寄存器,每当传输完了一遍之后,那么重装载寄存器的值都会自动同步到这三个寄存器中,让其开始新的一轮的数据传输。

ADC和DMA都是有中断的存在

ADC在转换完成一个数据后,可以触发中断,其中的标志位EOC就是可以表示转换成功了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值