This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSPM0G1507: dma+ADC 转换,debug第一次运行正常,复位或者非debug状态dma输出全为0

Part Number: MSPM0G1507

使用芯片:MSPM0G1507
目的:DAC输出指定信号,ADC根据定时器采样数据通过串口发出来
基于定时器触发dma进行adc采样,第一次debug运行都正常,脱离调试也正常,但是在调试中rest芯片,DMA输出数组值全为0,硬件脱离调试重新启动,DMA输出值也全为0,系统主时钟80M
与此同时DAC+DMA输出永远正常,部分时候会出现systick中断不触发的情况
具体配置如下:

syscfg:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/**
* These arguments were used when this file was generated. They will be automatically applied on subsequent loads
* via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments.
* @cliArgs --device "MSPM0G150X" --part "Default" --package "LQFP-48(PT)" --product "mspm0_sdk@2.02.00.05"
* @v2CliArgs --device "MSPM0G1507" --package "LQFP-48(PT)" --product "mspm0_sdk@2.02.00.05"
* @versions {"tool":"1.21.2+3837"}
*/
/**
* Import the modules used in this configuration.
*/
const ADC12 = scripting.addModule("/ti/driverlib/ADC12", {}, false);
const ADC121 = ADC12.addInstance();
const ADC122 = ADC12.addInstance();
const DAC12 = scripting.addModule("/ti/driverlib/DAC12");
const DMA = scripting.addModule("/ti/driverlib/DMA");
const GPIO = scripting.addModule("/ti/driverlib/GPIO", {}, false);
const GPIO1 = GPIO.addInstance();
const SYSCTL = scripting.addModule("/ti/driverlib/SYSCTL");
const SYSTICK = scripting.addModule("/ti/driverlib/SYSTICK");
const TIMER = scripting.addModule("/ti/driverlib/TIMER", {}, false);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

运行效果:

    正常:

    

    不正常(调试界面点复位或者硬件上reset引脚给一次低电平脉冲):
    

ccs和keil同样现象

    

x 出现错误。请重试或与管理员联系。