共3条
1/1 1 跳转至页
AVRStudio4,07 AVRStudio4.07的问题
![](http://uphotos.eepw.com.cn/jackwang/thumb/avatar.jpg)
![](http://uphotos.eepw.com.cn/jackwang/thumb/avatar.jpg)
问
各位朋友,有没有碰到过这种情况,在AVRStudio中的Watch中显示变量,显示的数据和实际的数据不一样,如在窗口中显示为“1”,在程序中对这个变量进行判断,结果可能是“0”,我想Atmel公司应该不会在软件中让这种低级错误出现,是我的机器问题吗?在其它机器也出现这种现象。
我用的仿真器是ICE200,如果是仿真器的问题我要找双龙
因为这个问题让我走了许多弯路 答 1: 那你有没看他编译后的汇编是做什么了? 答 2: 我见过的情况比如
i=getchar();
i=acsii2hex(i);
用ICCAVR编译,这时候你就看不到i的变化.ICC为了节约代码,自作聪明并没有实际返回i到储存i的那个寄存器.
如果这么写:
i=getchar();
i++;
i--;
i=acsii2hex(i);
强迫它返回函数的值就可以看到了. 答 3: up 答 4: ICE200最好配合AVRSTUDIO3.56使用。 答 5: 就是就是,我也用了一下4.07,觉得不爽,还是又用3.56的去了
我用的仿真器是ICE200,如果是仿真器的问题我要找双龙
因为这个问题让我走了许多弯路 答 1: 那你有没看他编译后的汇编是做什么了? 答 2: 我见过的情况比如
i=getchar();
i=acsii2hex(i);
用ICCAVR编译,这时候你就看不到i的变化.ICC为了节约代码,自作聪明并没有实际返回i到储存i的那个寄存器.
如果这么写:
i=getchar();
i++;
i--;
i=acsii2hex(i);
强迫它返回函数的值就可以看到了. 答 3: up 答 4: ICE200最好配合AVRSTUDIO3.56使用。 答 5: 就是就是,我也用了一下4.07,觉得不爽,还是又用3.56的去了
共3条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |