有关ADC的问题

2019-08-13 21:52发布

新手  想把ADC的值通过DMA传输到内存当中。过程中不理解:ADC DR寄存器中存储的是采集的数据吗? (没有经过公示变换前的) 是不是经过计算的出来的电压值已经存储到了芯片当中,而不是ADC的DR中?
如果 上面说的都是对的话,那么DMA搬运的值是一个未经过处理的值?然后做了无用功.....
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
翼间
1楼-- · 2019-08-13 23:07
 精彩回答 2  元偷偷看……
李毅123
2楼-- · 2019-08-14 01:12
翼间 发表于 2017-9-30 09:31
DMA只是一个搬运工,他只是把ADC转换出来的数值搬到你指定的位置,至于怎么处理,那是你需要编程去处理的。

哦哦 也就是说DMA搬运什么 我自己决定咯 那我是搬运ADC已经处理完的值好还是搬运最初的值再处理呢
szczyb1314
3楼-- · 2019-08-14 06:58
李毅123 发表于 2017-9-30 12:33
哦哦 也就是说DMA搬运什么 我自己决定咯 那我是搬运ADC已经处理完的值好还是搬运最初的值再处理呢

DMA搬运的是ADC的数据寄存器DR中的数据,这个数据是你采集的模拟电压数字化之后的结果,就是0V对应的数字化后的结果是0,3.3V对应的数字化后的结果是4096.
翼间
4楼-- · 2019-08-14 10:59
李毅123 发表于 2017-9-30 12:33
哦哦 也就是说DMA搬运什么 我自己决定咯 那我是搬运ADC已经处理完的值好还是搬运最初的值再处理呢

ADC转换出来的是没有“多少V”这个概念的,他转换出来的是一个数字量,代表的是0到VERF之间的一个比例值,至于这个比例值实际对应多少电压,取决于你VREF实际电压是多少和ADC的位数,打个比方,你的vref是3.3V,ADC是12位,只有正值没有负值,那么ADC的数据范围就是0~4095共4096个数(2的12次方),对应0~3.3V电压,那么ADC每增1,就意味着电压升高3.3/4096≈0.81mV,反之减少1即意味着电压下降0.81mV。

一周热门 更多>