加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

关于STM32   ADC的扫描模式

(2012-08-01 11:34:12)
标签:

杂谈

分类: 单片机andC语言
楼主(我): 
下面这张截图是 我看的 STM32参考手册的关于ADC状态寄存器ADC1_SR的资料
http://s5/middle/0414b736nc62bfaeb8a44&690  ADC的扫描模式" TITLE="关于STM32   ADC的扫描模式" />


我经过参考网上的资料 感觉EOC位  好像是每个通道转换结束 置位。而不是像书上这样说的 通道组转换结束时置位。
就像扫描模式,应该是每一个通道转换完就置一次,而不是等所有的通道都结束了才置位的。
不知道我理解的对不对?
书上写错了的?
 
 
1L:
额!这个还真不知道
 
2L(版主):
回复【楼主位】 utopia779 :
---------------------------------
这个要实验一下了.以实际实验结果为准.
3L:
应该是每一个通道转换完就置一次
这样的话DMA才能在每个通道转换完立即取出数据

我是这样理解的
 
4L(我自己):
 
这个问题 现在我的理解是这样的

这个采样结束标记位 是完成所有的通道才置位的

所以,我们无法读取每个通道的采样数据

那怎么办呢?

那就需要使用DMA来读数据。

会有人问 DMA怎么知道 什么时候采样数据呢!

这个看 STM参考手册 或许 能够看得出来。

ADC的DMA请求并不经过 规则通道数据寄存器,而是通过转换器直接申请。


立此为证,等我完全明白了 再来解释。

补充一张图 就会发现  采样多个通道 必须使用DMA
如下图
http://s8/middle/0414b736nc62e8f8c9597&690  ADC的扫描模式" TITLE="关于STM32   ADC的扫描模式" />





具体的使用步骤:
主要是配置 ADC和 DMA。记得打开ADC的DMA允许位。


http://s12/middle/0414b736nc6900502cbdb&690  ADC的扫描模式" TITLE="关于STM32   ADC的扫描模式" />

http://s14/middle/0414b736nc690051524cd&690  ADC的扫描模式" TITLE="关于STM32   ADC的扫描模式" />

http://s15/middle/0414b736nc69004f3309e&690  ADC的扫描模式" TITLE="关于STM32   ADC的扫描模式" />

打开一次DMA的传输  DMA开始工作
然后开始进行AD转换,转换后产生DMA请求,将数据进行存储, 存储的采样数取决于 DMA设置的数量。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有