找回密码
 立即注册
查看: 193|回复: 3

求助各位大佬,ADC DMA无法正常使用。

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:13
  • 最近打卡:2025-02-03 07:57:31

6

主题

10

回帖

112

积分

注册会员

积分
112
发表于 2025-2-2 10:02:25 | 显示全部楼层 |阅读模式
事情是这样的,我想做一个特定条件触发ADC采样的程序,ADC采样频率100kHz采样1000个点。
首先我使用“STC32G-DEMO-CODE-V9.6”里的“实验60-DMA-ADC采样数据自动存储”改动了一下程序,实现了定时触发采样1000个点:图一
然后我自己创建了一个工程,将程序内容分散开,再次运行就不行了:图二
求助各位大佬帮忙看看,非常感谢!

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
具体细节:
首先对系统初始化
//然后对两个串口初始化(这里也有DMA冲突,也不知道是啥问题,使用的别人写的DMA库)
对ADC进行初始化
对DMA进行初始化
定时器4初始化(这里进行一次1k次采样)
while(1)
{
    程序运行指示

    //ADC采集计数清零(这里如果取消注释程序就无法运行)
    //定时器4重新开启1k次采样(这里如果取消注释程序就无法运行)
}
-------------------------
每进一次定时器4中断
首先判断DMA采样是否完成
然后ADC采集计数+1
最后判断ADC采集计数是否到1000(到了就关闭中断,没到就开启下一次DMA ADC转换)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

PS:串口DMA的程序是来自这位大佬:https://www.stcaimcu.com/forum.php?mod=viewthread&tid=5211

改动的程序

改动的程序

自己创建的工程

自己创建的工程

16路ADC转换使用DMA-串口2返回结果.zip

53.56 KB, 下载次数: 10

改动例程里的工程

selfproject.zip

1.05 MB, 下载次数: 13

自己创建的工程

回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:13
  • 最近打卡:2025-02-03 07:57:31

6

主题

10

回帖

112

积分

注册会员

积分
112
发表于 2025-2-3 07:57:20 | 显示全部楼层
目前发现是只要一启动DMA ADC转换就成这样
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:385
  • 最近打卡:2025-05-01 08:05:45

25

主题

113

回帖

725

积分

高级会员

积分
725
发表于 2025-2-3 08:35:12 | 显示全部楼层
中断问题  超过32中断映射到13号中断,添加ISR.asm文件即可

点评

或者给KEIL打补丁,扩展中断号至255  详情 回复 发表于 2025-2-6 11:44
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2025-2-6 11:44:43 | 显示全部楼层
zhang*** 发表于 2025-2-3 08:35
中断问题  超过32中断映射到13号中断,添加ISR.asm文件即可

或者给KEIL打补丁,扩展中断号至255
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:31 , Processed in 0.218710 second(s), 71 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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