程序中有的语句在AVRSTUDIO中不能设断点
请问:我的C程序通过STUDIO下载到片子里之后不用点运行,就自动运行,并且不能复位(其他程序可以)
最要命是,我的很多条语句不能设断点,有时在只有“}”的行居然 可以设断点。 有的语句 比如,ifwhile
或赋值语句 也不能设。有的就能。
在不接仿真器时,也一样
这是为什么 请高手指点, 我觉得 和我程序有关系 因为编译器优化的原故... 因为该行代码没有生成 对应的汇编代码 。
(编译器优化,对代码进行了删除,搬移,合并,不是每句C语言代码都有对应的汇编代码) 2L解释详细,我说话太简洁了-_- 谢谢又长见识了
我很关键的一段程序,在时钟中断里的
if(flaghit9s_start==1&&flag_shenduset==0)
{
count_hit9s++;
if(count_hit9s==950) // =980
{
count_hit9s=0;
sdtempp=eeprom_read(170);
flag_shenduset=1;
flag_xian=1;
dis_waijie_sign=0;
EIMSK|=0X0c; // open key interrupt
}
}
每行都不能设断点, 但是从效果看,这段代码应该是发挥作用了,为什么?难道是给“搬移”了? 我的断点也设置不了,我没有优化,会不会是文件太大了。
页:
[1]