为什么AVR同一个程序在studio和icc中编译结果不一样

#include<iom16v.h>#defineBIT(x)1<<xvoiddelay(){unsignedintt,j;for(t=500;t!=0;t--)for(... #include <iom16v.h>
#define BIT(x) 1<<x

void delay()
{
unsigned int t,j;
for(t=500;t!=0;t--)
for(j=0;j<50;j++);
}
void main()
{
unsigned int i=0;
DDRB = 0xff;
PORTB = 0x00;

while(1)
{
for(i=0;i<=7;i++)
{
PORTB = BIT(i);
delay();

}
}
}

studio 中就改了头文件,用studio编译出来的HEX 文件下载后,LED 一直不动,只有ICC 的是正常的,请问这是为什么
展开
 我来答
ch314156
2011-07-07 · TA获得超过4377个赞
知道小有建树答主
回答量:2036
采纳率:100%
帮助的人:1067万
展开全部
studio 的project options 里有个optimizatio(代码优化)选项,你把数值改为00,不然一些延时函数会被优化掉,因为编译器认为这些代码无实际作用
zhang42932
2011-07-07 · TA获得超过200个赞
知道小有建树答主
回答量:120
采纳率:100%
帮助的人:50.6万
展开全部
#include <iom16v.h>
需要修改成#include <avr/io.h>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhangy330
2011-07-07
知道答主
回答量:12
采纳率:0%
帮助的人:0
展开全部
请问 文件的格式 您修改了没?
追问
文件的格式?HEX 文件?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式