TI中文支持网
TI专业的中文技术问题搜集分享网站

dsp28335 AD外部参考 配置后 程序跑飞 无法进入中断

程序在TI永磁机无速度控制的例程中修改,将AD内部参考改为外部2.048V参考,但是运行会出现程序跑飞,无法进中断的现象,将ADC_MACRO_INIT(ChSel,TrigSel,ACQPS)程序屏蔽后,又可以进入中断,请问是什么原因?

AD初始化程序如下,上电顺序检查确认无误

AdcRegs.ADCREFSEL.bit.REF_SEL=0x1; \
DELAY_US(500); \
EALLOW; \
SysCtrlRegs.PCLKCR0.bit.ADCENCLK = 1; \
ADC_cal(); \
EDIS; \
DELAY_US(500); \
/*AdcRegs.ADCREFSEL.bit.REF_SEL=0x1;*/ \
AdcRegs.ADCTRL3.all = 0x00E0; /* Power up bandgap/reference/ADC circuits*/ \
DELAY_US(ADC_usDELAY); /*Delay before converting ADC channels*/ \

Eric Ma:

进入中断指的是别的中断,而非ADC中断吧,不然你都把ADC的初始化屏蔽了。

建议你单步看看在ADC中断哪里跑飞进行排查。

ERIC

程序在TI永磁机无速度控制的例程中修改,将AD内部参考改为外部2.048V参考,但是运行会出现程序跑飞,无法进中断的现象,将ADC_MACRO_INIT(ChSel,TrigSel,ACQPS)程序屏蔽后,又可以进入中断,请问是什么原因?

AD初始化程序如下,上电顺序检查确认无误

AdcRegs.ADCREFSEL.bit.REF_SEL=0x1; \
DELAY_US(500); \
EALLOW; \
SysCtrlRegs.PCLKCR0.bit.ADCENCLK = 1; \
ADC_cal(); \
EDIS; \
DELAY_US(500); \
/*AdcRegs.ADCREFSEL.bit.REF_SEL=0x1;*/ \
AdcRegs.ADCTRL3.all = 0x00E0; /* Power up bandgap/reference/ADC circuits*/ \
DELAY_US(ADC_usDELAY); /*Delay before converting ADC channels*/ \

mangui zhang:

更改了参考  是不是满足不了触发条件了

程序在TI永磁机无速度控制的例程中修改,将AD内部参考改为外部2.048V参考,但是运行会出现程序跑飞,无法进中断的现象,将ADC_MACRO_INIT(ChSel,TrigSel,ACQPS)程序屏蔽后,又可以进入中断,请问是什么原因?

AD初始化程序如下,上电顺序检查确认无误

AdcRegs.ADCREFSEL.bit.REF_SEL=0x1; \
DELAY_US(500); \
EALLOW; \
SysCtrlRegs.PCLKCR0.bit.ADCENCLK = 1; \
ADC_cal(); \
EDIS; \
DELAY_US(500); \
/*AdcRegs.ADCREFSEL.bit.REF_SEL=0x1;*/ \
AdcRegs.ADCTRL3.all = 0x00E0; /* Power up bandgap/reference/ADC circuits*/ \
DELAY_US(ADC_usDELAY); /*Delay before converting ADC channels*/ \

cumt wuxiang:

回复 Eric Ma:

您好:

       中断包含EPWM1中断和SPI FIFO两个中断,程序跑飞至boot rom 后来怀疑是ADC_cal函数的问题,将其删掉后可正常进入中断,请问这是什么原因?

程序在TI永磁机无速度控制的例程中修改,将AD内部参考改为外部2.048V参考,但是运行会出现程序跑飞,无法进中断的现象,将ADC_MACRO_INIT(ChSel,TrigSel,ACQPS)程序屏蔽后,又可以进入中断,请问是什么原因?

AD初始化程序如下,上电顺序检查确认无误

AdcRegs.ADCREFSEL.bit.REF_SEL=0x1; \
DELAY_US(500); \
EALLOW; \
SysCtrlRegs.PCLKCR0.bit.ADCENCLK = 1; \
ADC_cal(); \
EDIS; \
DELAY_US(500); \
/*AdcRegs.ADCREFSEL.bit.REF_SEL=0x1;*/ \
AdcRegs.ADCTRL3.all = 0x00E0; /* Power up bandgap/reference/ADC circuits*/ \
DELAY_US(ADC_usDELAY); /*Delay before converting ADC channels*/ \

cumt wuxiang:

回复 Eric Ma:

您好:

       中断包含EPWM1中断和SPI FIFO两个中断,程序跑飞至boot rom 后来怀疑是ADC_cal函数的问题,将其删掉后可正常进入中断,请问这是什么原因?

赞(0)
未经允许不得转载:TI中文支持网 » dsp28335 AD外部参考 配置后 程序跑飞 无法进入中断
分享到: 更多 (0)