2 shitouwoai shitouwoai 于 2014.05.28 22:51 提问

这两段代码有什么不同?

代码1:
void dely()
{
int i=1000000;
while(i--);
}
void show()
{
int i=0;
unsigned *led_con=( unsigned *)0x7f008800;
unsigned *led_dat=( unsigned *)0x7f008808;
unsigned data=0xffef;
*led_con=0x11110000;
*led_dat=0xffef;
while(1)
{

i++;
dely();
*led_dat=data< if(i>4)
{

data=0xffef;
i=0;
}

}

}

代码2:
void dely()
{
int i=1000000;
while(i--);
}
void show()
{
int i=0;
unsigned *led_con=( unsigned *)0x7f008800;
unsigned *led_dat=( unsigned *)0x7f008808;
unsigned data=0xffef;
*led_con=0x11110000;
*led_dat=0xffef;
while(1)
{

i++;
dely();
*led_dat=*led_dat< if(i>4)
{

*led_dat=0xffef;
i=0;
}

}

}

两段代码中*led_dat中的值应该是一样的,但是在开发板中运行的效果确实不相同,这个该怎么解释?

1个回答

lym753024200
lym753024200   2014.05.28 23:33

*led_dat=data< if(i>4){...}是什么意思?

lym753024200
lym753024200 你想说什么效果不同?你的延时逻辑不如换成Sleep函数,那个不好
3 年多之前 回复
shitouwoai
shitouwoai 让灯不断的跑啊
3 年多之前 回复
lym753024200
lym753024200 不晓得你用一个死循环干嘛?
3 年多之前 回复
shitouwoai
shitouwoai 就是那个地方出了点问题,程序是运行过的
3 年多之前 回复
lym753024200
lym753024200 你确认其他地方代码没有错误?先矫正下再给你看
3 年多之前 回复
shitouwoai
shitouwoai 这里本来是一个分号,一个换行,我拷贝上去不知怎么成那了
3 年多之前 回复
shitouwoai
shitouwoai 应该是*led_dat=data; if(i>4)
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!