硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2688|回复: 5
收起左侧

[ADC] 关于V7-020_ADC+DMA的多通道采集中DMA中断配置问题

[复制链接]

24

主题

70

回帖

142

积分

初级会员

积分
142
发表于 2019-7-10 14:09:35 | 显示全部楼层 |阅读模式
  ( 1 ) 由于 函数 HAL_ADC_Start_DMA封装 的 DMA 传输 函数是 HAL_DMA_Start_IT,其中该函数会使能DMA中断。
   /* Enable Common interrupts*/
      MODIFY_REG(((DMA_Stream_TypeDef   *)hdma->Instance)->CR, (DMA_IT_TC | DMA_IT_TE | DMA_IT_DME | DMA_IT_HT), (DMA_IT_TC | DMA_IT_TE | DMA_IT_DME));
例程中没有配置该NVIC,会不会造成没有对应的中断服务函数而引起异常?

(2) cubemx配置DMA1和DMA2时,中断是强制配置上的,无法手动修改



回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107046
QQ
发表于 2019-7-10 14:16:15 | 显示全部楼层
不配置NVIC,就是为了不开启中断,直接读取的DMA缓冲
QQ截图20190710141500.jpg
回复

使用道具 举报

24

主题

70

回帖

142

积分

初级会员

积分
142
 楼主| 发表于 2019-7-10 14:26:12 | 显示全部楼层
如果我使用cubemx的话,也只能是在初始化后调用HAL_NVIC_DisableIRQ(DMA1_Stream0_IRQn)来禁止DMA中断?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107046
QQ
发表于 2019-7-10 14:26:57 | 显示全部楼层
utyang 发表于 2019-7-10 14:26
如果我使用cubemx的话,也只能是在初始化后调用HAL_NVIC_DisableIRQ(DMA1_Stream0_IRQn)来禁止DMA中断?

CubeMX必须可以配置的,就在这里呢
回复

使用道具 举报

24

主题

70

回帖

142

积分

初级会员

积分
142
 楼主| 发表于 2019-7-10 14:31:23 | 显示全部楼层
eric2013 发表于 2019-7-10 14:26
CubeMX必须可以配置的,就在这里呢

没明白是什么意思。
我使用cubemx开启了ADC的DMA后,DMA中断是打开的,且不可修改,所以我能做的就是ADC和DMA初始化之后调用HAL_NVIC_DisableIRQ(DMA1_Stream0_IRQn)来禁止DMA中断
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107046
QQ
发表于 2019-7-10 14:33:27 | 显示全部楼层
utyang 发表于 2019-7-10 14:31
没明白是什么意思。
我使用cubemx开启了ADC的DMA后,DMA中断是打开的,且不可修改,所以我能做的就是ADC ...

QQ截图20190710143106.jpg
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-15 13:30 , Processed in 0.285330 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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