xiweihai 发表于 2024-3-14 10:53:15

STC32G12K128 无法进入DMA ADC中断

STC32G12K128 运行官方demo: 21-ADC采样数据自动存入DMA-串口输出结果 无法进入DMA ADC中断






乘风飞扬 发表于 2024-3-14 11:04:34

直接烧录例程到芯片里,用串口打印数据看看是否正常。
仿真的话确保连接,设置正常,STC32G SWD仿真流程可以参考演示视频:
https://www.stcaimcu.com/plugin.php?id=x7ree_v:x7ree_v&code_7ree=1&id_7ree=61

xiweihai 发表于 2024-3-14 11:09:52

乘风飞扬 发表于 2024-3-14 11:04
直接烧录例程到芯片里,用串口打印数据看看是否正常。
仿真的话确保连接,设置正常,STC32G SWD仿真流程可 ...

用的USB仿真,main函数入口断点是没问题的,实测就是没进入中断的函数

xiweihai 发表于 2024-3-14 11:17:30

因为没收到DMA ADC的中断事件,循环一直卡在这里了

乘风飞扬 发表于 2024-3-14 11:25:48

https://www.stcaimcu.com/plugin.php?id=x7ree_v:x7ree_v&fenlei=9

这两个视频是演示硬件USB仿真的。

这个例子没有使用isr.asm的中断映射功能,而是通过中断号扩展插件直接使用ADC DMA中断,也就是:
void DMA_ADC_ISR_Handler (void) interrupt DMA_ADC_VECTOR
DMA_ADC_VECTOR定义中断号是48
如果你没有修改过程序的话应该不会有问题的。

梁工 发表于 2024-3-14 14:28:48

你的C251编译器是否扩展了中断号?

xiweihai 发表于 2024-3-14 14:52:38

梁工 发表于 2024-3-14 14:28
你的C251编译器是否扩展了中断号?

扩展过了

梁工 发表于 2024-3-14 15:10:12

xiweihai 发表于 2024-3-14 14:52
扩展过了

那直接下载例子的HEX文件测试就应该正常。

xiweihai 发表于 2024-3-14 15:34:08

梁工 发表于 2024-3-14 15:10
那直接下载例子的HEX文件测试就应该正常。

我运行另外一个官方demo: 60-DMA-ADC采样数据自动存储可以触发中断了,貌似是少了一句使能DMA_ADC中断寄存器的代码:
DMA_ADC_CFG = 0x80;                //bit7 1:Enable Interrupt
页: [1]
查看完整版本: STC32G12K128 无法进入DMA ADC中断