OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9028|回复: 17

ADC的EOC产生问题

[复制链接]

20

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2014-3-2
在线时间
0 小时
发表于 2014-4-2 10:16:14 | 显示全部楼层 |阅读模式
手册上看EOC标志位产生条件没缕请,我想问下,在单次转换时,完成了就标志EOC位,那么连续转换、扫描单次转换,扫描连续转换三种情况下都是什么时候产生EOC标志位啊?如果是每次一个通道转换完就标志EOC,那么如果我不用DMA读数据,EOC还能清除吗?还能继续下次转化吗?多谢大家
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

20

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2014-3-2
在线时间
0 小时
 楼主| 发表于 2014-4-2 11:17:53 | 显示全部楼层
是问题太简单还是大家都不知道啊
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-4-3 00:23:48 | 显示全部楼层

如上图,手册说:EOC是硬件在规则/注入通道组转换结束时设置。
清除,则是读取EOC,或者软件写该位为0.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

20

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2014-3-2
在线时间
0 小时
 楼主| 发表于 2014-4-3 09:12:16 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
假如有3个通道转换,也就是通道3转换完成后置位EOC,那我在1通道转换完后要DMA传输,我根据什么标志来启动DMA开始传输呢
回复 支持 反对

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
发表于 2014-4-3 10:19:23 | 显示全部楼层
回复【4楼】paradise:
---------------------------------
跟我上次问题一样
回复 支持 反对

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
发表于 2014-4-3 10:30:24 | 显示全部楼层
你可以尝试注入通道跟规则通道一起用啊,规则完成启动注入,在注入转换期配置规则,然后注入完成启动规则,规则转换期间配置注入,反正转换需要时间的
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-4-3 10:53:55 | 显示全部楼层
回复【4楼】paradise:
---------------------------------
这个手册没有提到。
应该是内部有什么机制,具体手册没说,我也没看到相关资料,你可以问问ST官方。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

20

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2014-3-2
在线时间
0 小时
 楼主| 发表于 2014-4-3 11:27:54 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
我想表达的意思是假如我开启了ADC的DMA请求控制,那么在通道1转换完成后系统会自动开始DMA传输还是需要我手动去开启一次DMA传输呢,如果是手动控制那我得根据某个标志位来控制,如果是自动那我就不用管它了。
回复 支持 反对

使用道具 举报

20

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2014-3-2
在线时间
0 小时
 楼主| 发表于 2014-4-3 11:28:19 | 显示全部楼层
回复【5楼】聚东风:
---------------------------------
那结果如何?分享下经验
回复 支持 反对

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
发表于 2014-4-3 11:57:30 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
可能没什么机制。我估计是一个设计不全面的失误,他自己也说了,只有最后一组才才升
回复 支持 反对

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
发表于 2014-4-3 12:01:21 | 显示全部楼层
回复【8楼】paradise:
---------------------------------
就我所知,不会中间给你触发



回复 支持 反对

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
发表于 2014-4-3 13:49:49 | 显示全部楼层
不误导你了,哈哈,我估摸着是我上次设置出错造成没有输出,讨论那么多,试下就知道了
回复 支持 反对

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
发表于 2014-4-3 13:50:42 | 显示全部楼层
假设,如果每次转换都产生,那你可以让DMA来告诉你转换完成没有
回复 支持 反对

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
发表于 2014-4-3 13:52:07 | 显示全部楼层
而且,你错误的是,DMA是内部自动请求的,不需要你请求,你只要配置好就好了
回复 支持 反对

使用道具 举报

20

主题

143

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2015-8-28
在线时间
108 小时
发表于 2016-6-16 09:25:58 | 显示全部楼层
paradise 发表于 2014-4-3 11:27
回复【7楼】正点原子:
---------------------------------
我想表达的意思是假如我开启了ADC的DMA请求控制 ...

自动,DMA就是自动
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
30
金钱
30
注册时间
2016-6-1
在线时间
3 小时
发表于 2016-12-21 19:02:24 | 显示全部楼层
我们也遇到了这个问题,官方说是最后一次才启动DMA转换吗?中间不管?
回复 支持 反对

使用道具 举报

1

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
139
金钱
139
注册时间
2019-7-16
在线时间
28 小时
发表于 2019-8-20 18:59:47 | 显示全部楼层
今天也刚好看到这个问题,我觉得应该是如果设置成连续转换,那个最后一次转换完成之后才会进行EOC事件,(官方给出的说法:每个转换后,EOC或者JEOC才置1,注意是每个而不是每次),然后间断模式中举得例子:三次触发:转换的序列位9/10,并产生EOC事件(STM32中文参考手册P160),所以我觉得是相当于一轮转换结束才会发生EOC事件,这个只是我个人的想法
但是对于DMA,他说在每次EOC后,DMA控制器把规格通道的转换数据传输到SRAM中,这个我也想不明白为什么?有知道的大佬可以告诉我下,谢谢了
回复 支持 反对

使用道具 举报

1

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
139
金钱
139
注册时间
2019-7-16
在线时间
28 小时
发表于 2019-8-20 19:01:28 | 显示全部楼层

DMA是自动的,但是中文参考手册上面写的是每次EOC之后才会将规格通道的转换数据传输到SRAM中,这个是如何做到的?那我假如有10个通道,那如何传输呢?大佬,我刚开始看STM32,这个问题我一直想不明白~如果您知道,请帮忙解答下,谢谢了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-13 06:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表