[应用相关]

STM32F103使用cubemx配置ADC和DMA导致delay函数无法使用的问题

[复制链接]
587|18
手机看帖
扫描二维码
随时随地手机跟帖
cr315|  楼主 | 2022-6-2 10:14 | 显示全部楼层
。。。。

使用特权

评论回复
cr315|  楼主 | 2022-6-3 10:00 | 显示全部楼层 |阅读模式
问题补充:
用CUBEMX配置完adc和dma后在主函数中调用函数HAL_ADC_Start_DMA(&hadc1,(uint32_t *)&DMA_value,6);

会导致while循环中的delay延时函数失效,具体情况是:
不打开ADC,delay函数正常使用,可以1S打印一次信息,
但是打开HAL_ADC_Start_DMA(&hadc1,(uint32_t *)&DMA_value,6);函数后,打印频率不是1S,而是比1S快
同样,只使用ADC不使用DMA,在while循环之前打开HAL_ADC_Start_IT(&hadc1);,可以1S打印一次信息,
但是如果同时打开HAL_ADC_Start_IT(&hadc1);和HAL_ADC_Start(&hadc1);,就会导致打印的频率比1S快
有没有大佬知道如何解决问题

使用特权

评论回复
51xlf| | 2022-6-6 13:07 | 显示全部楼层
因为你使能了中断。   

使用特权

评论回复
robertesth| | 2022-6-7 16:07 | 显示全部楼层
DMA一直在产生中断代码   

使用特权

评论回复
kkzz| | 2022-6-20 20:00 | 显示全部楼层
ADC和DMA这个确实有问题。   

使用特权

评论回复
janewood| | 2022-6-24 09:46 | 显示全部楼层
DMA中断去掉就可以 。

使用特权

评论回复
soodesyt| | 2022-6-24 11:31 | 显示全部楼层
使用cubemx取消强制中断。  

使用特权

评论回复
pl202| | 2022-6-24 13:48 | 显示全部楼层
STM32F103性能有问题吗

使用特权

评论回复
sonicll| | 2022-6-24 14:18 | 显示全部楼层
估计是中断优先级设置的问题

使用特权

评论回复
chenci2013| | 2022-6-25 12:41 | 显示全部楼层
应该是代码就不执行了吧   

使用特权

评论回复
saservice| | 2022-6-25 13:34 | 显示全部楼层
这个没有设置好。  

使用特权

评论回复
tpgf| | 2022-7-1 10:27 | 显示全部楼层
还有这种副作用啊

使用特权

评论回复
qcliu| | 2022-7-1 10:38 | 显示全部楼层
有相关文档说明吗

使用特权

评论回复
gwsan| | 2022-7-1 11:02 | 显示全部楼层
有官方文档说明吗

使用特权

评论回复
tfqi| | 2022-7-1 11:09 | 显示全部楼层
只能想办法避开它

使用特权

评论回复
nawu| | 2022-7-1 11:17 | 显示全部楼层
cubemx可以取消强制中断

使用特权

评论回复
zljiu| | 2022-7-1 11:43 | 显示全部楼层
这个如何进行取消呢

使用特权

评论回复
香水城| | 2022-7-1 12:50 | 显示全部楼层
应该是中断优先级配置方面的问题,你确认下你的程序逻辑。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1196

主题

3007

帖子

0

粉丝