InitAdc(); 进入这个函数后运行ADC延迟函数 DELAY_US(ADC_usDELAY); 延迟函数为: .def _DSP28x_usDelay .sect "ramfuncs" .global __DSP28x_usDelay_DSP28x_usDelay: SUB ACC,#1 ///////从这个位置跳转到中断函数 BF _DSP28x_usDelay,GEQ ;; Loop if ACC >= 0 LRETR
中断函数为: interrupt void USER1_ISR(void) // User Defined trap 1 { // Insert ISR Code here // Next two lines for debug only to halt the processor here // Remove after inserting ISR Code asm (" ESTOP0"); for(;;); }
新手 不解 请各位高手支招
Martin Yu:
Delay这个函数是标准的利用ACC延时的函数,应该没有问题,进入trap1的原因应该在别的地方,建议仔细检查下用户代码,变量给值等。
InitAdc(); 进入这个函数后运行ADC延迟函数 DELAY_US(ADC_usDELAY); 延迟函数为: .def _DSP28x_usDelay .sect "ramfuncs" .global __DSP28x_usDelay_DSP28x_usDelay: SUB ACC,#1 ///////从这个位置跳转到中断函数 BF _DSP28x_usDelay,GEQ ;; Loop if ACC >= 0 LRETR
中断函数为: interrupt void USER1_ISR(void) // User Defined trap 1 { // Insert ISR Code here // Next two lines for debug only to halt the processor here // Remove after inserting ISR Code asm (" ESTOP0"); for(;;); }
新手 不解 请各位高手支招
xiangpu cheng:
回复 Martin Yu:
你好,很感谢你,我更换了CMD文件,用28035_RAM_lnk.cmd调试就不会出问题,我原来用的F28035.cmd,这说明啥?是不是我的cmd文件中FLASH配置有问题啊?
InitAdc(); 进入这个函数后运行ADC延迟函数 DELAY_US(ADC_usDELAY); 延迟函数为: .def _DSP28x_usDelay .sect "ramfuncs" .global __DSP28x_usDelay_DSP28x_usDelay: SUB ACC,#1 ///////从这个位置跳转到中断函数 BF _DSP28x_usDelay,GEQ ;; Loop if ACC >= 0 LRETR
中断函数为: interrupt void USER1_ISR(void) // User Defined trap 1 { // Insert ISR Code here // Next two lines for debug only to halt the processor here // Remove after inserting ISR Code asm (" ESTOP0"); for(;;); }
新手 不解 请各位高手支招
Eric Ma:
回复 xiangpu cheng:
xiangpu,
F28035.cmd是否是controlSUITE中的例子?C:\ti\controlSUITE\device_support\f2803x\v127\DSP2803x_common\cmd
如果是,应该CMD没有问题。
如果使用flash的CMD,程序会烧写到flash中执行,那么应该在程序中要初始化flash,参考C:\ti\controlSUITE\device_support\f2803x\v127\DSP2803x_examples_ccsv5\flash_f28035 例程。
应该要程序编译后的相关警告信息,如果有,贴出来帮助判断。
Eric
InitAdc(); 进入这个函数后运行ADC延迟函数 DELAY_US(ADC_usDELAY); 延迟函数为: .def _DSP28x_usDelay .sect "ramfuncs" .global __DSP28x_usDelay_DSP28x_usDelay: SUB ACC,#1 ///////从这个位置跳转到中断函数 BF _DSP28x_usDelay,GEQ ;; Loop if ACC >= 0 LRETR
中断函数为: interrupt void USER1_ISR(void) // User Defined trap 1 { // Insert ISR Code here // Next two lines for debug only to halt the processor here // Remove after inserting ISR Code asm (" ESTOP0"); for(;;); }
新手 不解 请各位高手支招
xiangpu cheng:
回复 Eric Ma:
多谢,我再看看,以后有问题还要请教你