jtag仿真单步执行可以,但是连续运行的时候就不执行了
程序很简单,就是跑马灯,连续单步仿真没有问题,但是连续运行的时候就不执行,延时调整过,时间长也是这个问题,时间短也一样,求教。。。。 现象是什么? 我也有这样的问题,点step over 后avrstudio没有反应了~!郁闷~! 点亮一个发光二极管,高低电平循环;连续运行端口始终是3.1v,连续单步可以正常点亮二极管,起初以为是延时没掌握好,但是改变延时时间以后,为题依旧,以前好使的程序拿出来也不好用了,谁遇到过这个问题怎么解决的 回复【3楼】lixiaodong-----------------------------------------------------------------------
你看看你芯片的m103模式这个熔丝位编程了没有,那位熔丝是不要编程的.. 103模式在哪修改, m16没有m103熔丝位阿 http://cache.amobbs.com/bbs_upload782111/files_26/ourdev_532972.png
我的熔丝位配置 (原文件名:12.png) 贴代码 回复【7楼】lixiaodong
-----------------------------------------------------------------------
不好意思,我以为你是mega128... #include "avr/io.h"
//#include <iom16.h >
# define uchar unsigned char
void delay_nms(unsigned int n)
{
// volatile unsigned char i;
unsigned int i;
for (i=0;i<n;i++)
{}
// delay_1ms();
}
void io_init(void)
{
PORTA = 0xff;
PORTB = 0xFF;
//PORTC = 0xFF;
DDRB= 0XFF;//PB--OUT
DDRA= 0xFF;
// DDRC= 0x00;
}
void mDelay(uint16_t DelayTim)
{ uint16_t i;
for(;DelayTim>0;DelayTim--)
{ for(i=0;i<4000;i++)
{;}
for(i=0;i<3900;i++)
{;}
}
}
voidmain()
{
io_init();
while(1)
{
PORTA=0x00;
delay_nms(9000);
delay_nms(9000);
delay_nms(9000);
PORTA=0xFF;
delay_nms(9000);
delay_nms(9000);
delay_nms(9000);
delay_nms(9000);
}
} 谁能给指点一下 回复【楼主位】lixiaodong
-----------------------------------------------------------------------
仿真时只支持单步调试 你的代码有用优化吗? 如果有用优化的话你的代码直接就被优化了。 # Optimization level, can be .
# 优化级别
# 0 = turn off optimization. s = optimize for size.
# (Note: 3 is not always the best optimization level. See avr-libc FAQ.)
OPT = 0
#这里OPT设置为0,
别的地方还有么? 问题已解决,谢谢各位 怎么解决的!!!
页:
[1]