我用ccs6做了一个ADC采集程序,在烧写调试模式的时候是能够运行的,但是下载模式的时候,程序在运行到 InitAdc(); 时候就卡那了,我单步执行发现是 InitAdc(); 里面的 DELAY_US(ADC_usDELAY); 有问题,运行到这一步他自动跳到下面这个非法ISR中去了,然后死循环了
interrupt void ILLEGAL_ISR(void) // Illegal operation TRAP
{
// Insert ISR Code here
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
asm(" ESTOP0");
for(;;);
}
lu lu2:
回复 Eric Ma:
是的,没有在RAM中运行,改一下就好了,谢谢!不过现在有个新问题,就是,我的ADC采集数据右移四位之后为什么不准确,0V输入,显示RESULT0是800多,加电压发现还不线性啊
我用ccs6做了一个ADC采集程序,在烧写调试模式的时候是能够运行的,但是下载模式的时候,程序在运行到 InitAdc(); 时候就卡那了,我单步执行发现是 InitAdc(); 里面的 DELAY_US(ADC_usDELAY); 有问题,运行到这一步他自动跳到下面这个非法ISR中去了,然后死循环了
interrupt void ILLEGAL_ISR(void) // Illegal operation TRAP
{
// Insert ISR Code here
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
asm(" ESTOP0");
for(;;);
}
lu lu2:
回复 Hardy Zhou:
嗯,你说的对,改好了,谢谢!不过我ADC采集数据不准确,0V输入右移四位后显示800多,太偏了,加压后发现也不线性,这是怎么回事那
我用ccs6做了一个ADC采集程序,在烧写调试模式的时候是能够运行的,但是下载模式的时候,程序在运行到 InitAdc(); 时候就卡那了,我单步执行发现是 InitAdc(); 里面的 DELAY_US(ADC_usDELAY); 有问题,运行到这一步他自动跳到下面这个非法ISR中去了,然后死循环了
interrupt void ILLEGAL_ISR(void) // Illegal operation TRAP
{
// 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:
回复 lu lu2:
导入历程C:\ti\controlSUITE\device_support\f2833x\v141\DSP2833x_examples_ccsv5\adc_soc
先用历程跑一下先。
ERIC
我用ccs6做了一个ADC采集程序,在烧写调试模式的时候是能够运行的,但是下载模式的时候,程序在运行到 InitAdc(); 时候就卡那了,我单步执行发现是 InitAdc(); 里面的 DELAY_US(ADC_usDELAY); 有问题,运行到这一步他自动跳到下面这个非法ISR中去了,然后死循环了
interrupt void ILLEGAL_ISR(void) // Illegal operation TRAP
{
// Insert ISR Code here
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
asm(" ESTOP0");
for(;;);
}
lu lu2:
回复 Eric Ma:
也是800多,不知道怎么回事,输入就是0V啊,好惆怅
我用ccs6做了一个ADC采集程序,在烧写调试模式的时候是能够运行的,但是下载模式的时候,程序在运行到 InitAdc(); 时候就卡那了,我单步执行发现是 InitAdc(); 里面的 DELAY_US(ADC_usDELAY); 有问题,运行到这一步他自动跳到下面这个非法ISR中去了,然后死循环了
interrupt void ILLEGAL_ISR(void) // Illegal operation TRAP
{
// Insert ISR Code here
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
asm(" ESTOP0");
for(;;);
}
Hardy Zhou:
回复 lu lu2:
建议采用官方的例程,使用示波器或者万用表测试下芯片ADC管脚处的电压值,然后对比ADC的采样结果,确定硬件是否ok先
我用ccs6做了一个ADC采集程序,在烧写调试模式的时候是能够运行的,但是下载模式的时候,程序在运行到 InitAdc(); 时候就卡那了,我单步执行发现是 InitAdc(); 里面的 DELAY_US(ADC_usDELAY); 有问题,运行到这一步他自动跳到下面这个非法ISR中去了,然后死循环了
interrupt void ILLEGAL_ISR(void) // Illegal operation TRAP
{
// Insert ISR Code here
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
asm(" ESTOP0");
for(;;);
}
lu lu2:
回复 Hardy Zhou:
还是不行,八个AD口的数据都不一样
我用ccs6做了一个ADC采集程序,在烧写调试模式的时候是能够运行的,但是下载模式的时候,程序在运行到 InitAdc(); 时候就卡那了,我单步执行发现是 InitAdc(); 里面的 DELAY_US(ADC_usDELAY); 有问题,运行到这一步他自动跳到下面这个非法ISR中去了,然后死循环了
interrupt void ILLEGAL_ISR(void) // Illegal operation TRAP
{
// 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:
回复 lu lu2:
如果这样子,你要检查一下你的硬件原理图,
C:\ti\controlSUITE\development_kits\~controlCARDs\CC2833xHWdevPkg
去对比一下。
ERIC