你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32f407内部dual adc开启DMA中断,进不了DMA中断问题

[复制链接]
sofia 提问时间:2024-5-30 11:15 / 未解决

ADC1和ADC2采用外部定时器3 TRGO触发conv,然后开启DMA中断,发现进不去DMA中断 ,不知道是哪问题。

另外这个库版本好像不能设置DMA双缓冲模式?如果要设置双缓冲,是要更换哪个版本,谢谢

1717039127053.jpg

1717039149949.jpg

收藏 评论2 发布时间:2024-5-30 11:15

举报

2个回答
xmshao 回答时间:2024-5-31 16:24:07
我看你好像就是STM32F407的标准例程做的测试。


我尝试在adcdual mode的例程基础上加上中断部分,可以进入中断。


  NVIC_InitTypeDef   NVIC_InitStructure;
   
  NVIC_InitStructure.NVIC_IRQChannel = DMA2_Stream0_IRQn;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);

  DMA_ITConfig(DMA2_Stream0, DMA_IT_TC, ENABLE);

  DMA_Cmd(DMA2_Stream0, ENABLE);


你看看adc到底跑起来没有,


另外 注意有些参数别 给错了,比方 DMA_Cmd(RHEOSTAT_ADC_DMA_STREAM, ENABLE)里的DMA stream。


可能的话,最好基于cubeMx创建工程来开始,现在大家都走这个方向。交流起来就方便点.
xmshao 回答时间:2024-5-31 16:32:36

我的测试代码跟你的差不多,基于一个F4标准库例程修改的。

image.png

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版