找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1353|回复: 8
收起左侧

关于MCU ADC中断和DMA问题

[复制链接]
ID:966089 发表于 2023-5-8 09:54 | 显示全部楼层 |阅读模式
各位大佬们,根据数据手册说,扫描模式下一组通道转换实际上就是连续的一组通道的单次转换,那也就是说工作流程是:触发信号到达-通道1转换-通道1转换结束EOC-通道2转换-通道2转换结束EOC.......,然后ADC中断规定是:如果设置ADC中断位,那么ADC在转换结束标志EOC处会触发进入中断一次(这个在单通道ADC采集中可以得到很好的验证),但现在问题来了,多通道采集是要搭配DMA的,那现在我使用DMA,但是我不用DMA中断,而是开启ADC中断,在一组为4通道的转换中,我在ADC中断函数里设置一个变量自增一次,然后触发信号我给的是定时器1s触发采样,理论上我应该观察出ADC中断函数变量一个周期内应该自增4次,毕竟是4个通道,但是我并没有观察到变量自增,一直是0初始值。这个是为什么?这里面的机理是什么样子,ADC在EOC处触发DMA传输一次数据,难道就因为触发DMA就不进入中断了?我有点茫然,网上也都是很普通的DMA配置和介绍,哪位大佬了解这个激励,麻烦赐教一下!!!
回复

使用道具 举报

ID:301191 发表于 2023-5-8 20:12 | 显示全部楼层
顶一下
回复

使用道具 举报

ID:123289 发表于 2023-5-9 09:24 | 显示全部楼层
你描述的很累,我看的也累啊。
回复

使用道具 举报

ID:966089 发表于 2023-5-9 11:05 | 显示全部楼层
没有人用过DMA下的ADC中断吗?
回复

使用道具 举报

ID:624769 发表于 2023-5-9 15:58 | 显示全部楼层
菜菜的周某人 发表于 2023-5-9 11:05
没有人用过DMA下的ADC中断吗?

不是没人用过,是你提出的问题,组词造句的方式,拼凑在一起之后,非常难理解。

随便当中抽一条吧,
你说: 多通道采集是要搭配DMA的,
实际上,并不是,多通道可以不用DMA的。 并且,DMA可以应用在单通道。然后……,其他的真的很难理解。
回复

使用道具 举报

ID:1043290 发表于 2023-5-10 16:36 | 显示全部楼层
贴下程序吧
回复

使用道具 举报

ID:966089 发表于 2023-5-10 17:27 | 显示全部楼层
我的问题就是为什么在多通道里使用DMA后,ADC中断不动作了?以及ADC中每次使用DMA传输数据时,什么时候触发DMA传输?
回复

使用道具 举报

ID:401564 发表于 2023-5-11 12:54 | 显示全部楼层
ADC用中断就不用DMA
用DMA就不需要开ADC中断
用DMA本身就是为节省CPU时间,你又开了ADC中断,那还开DMA干咳呢?
不管是单个通道还是多个通道,都可以用DMA
回复

使用道具 举报

ID:401564 发表于 2023-5-11 12:55 | 显示全部楼层
文字一堆描述,谁看了都累,还不如上传代码
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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