我装了AVRStudio4.18后,我就新建了一个工程,编译成功后,进行软件仿真,可是有很多问题没有解决。

#include<avr/io.h>#define uchar unsigned char#define uint unsigned intint main(void){ //uchar temp; uint i, j; DDRB = 0xff; PORTB = 0xe6; while(1) { PORTB = PORTB & ~(1 << 6); for(i=0; i<50; i++) { for(j=0; j<1000; j++); } } return 0;}第一,不能完整的单步运行,在IARAVR里我可以执行到每一部,比如一个for语句,可是在我的AVRStudio4.18的仿真界面里,当我按下F10后光标直接运行到PORTB = 0xe6;的语句,而且还不在for语句里进行单步运行。第二,我在watch窗口了输入变量i,单步运行的时候总是显示location not valid。这是为什么啊,哪位大侠指点一下啊!谢谢啊!!
2026年09月24日 11:39
有1个网友回答
网友(1):

估计你的空循环被优化掉了,在菜单栏上的Project >> Configuration Option ,在弹出的窗口中General选显卡中的Optimization 中选-00再试试。