为什么给单片机写程序时,main两个并列的for循环会一直循环下去,成为死循环,如何结束死循环只执行一遍
#include<reg52.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharuch...
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp;
uint i,j ;
void delay(uint);
void main()
{
temp=0xfe;
P0=temp;
for(i=7;i>0;i--)
{
temp=_crol_(temp,1);
delay(119);
P0=temp;
};
P0=temp;
for(j=7;j>0;j--)
{
temp=_cror_(temp,1);
delay(119);
P0=temp;
};
}
void delay(uint z)
{
uint x,y;
for(x=301;x>0;x--)
for(y=z;y>0;y--);
} 展开
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp;
uint i,j ;
void delay(uint);
void main()
{
temp=0xfe;
P0=temp;
for(i=7;i>0;i--)
{
temp=_crol_(temp,1);
delay(119);
P0=temp;
};
P0=temp;
for(j=7;j>0;j--)
{
temp=_cror_(temp,1);
delay(119);
P0=temp;
};
}
void delay(uint z)
{
uint x,y;
for(x=301;x>0;x--)
for(y=z;y>0;y--);
} 展开
3个回答
展开全部
你main里面要加个while死循环,不然你两个for循环走完了单片机就跑飞了
追问
跑飞是啥意思
追答
跑飞就是你单片机程序运行的不是你想让它走的地方(主循环之外),比如汇编里面,call后没有ret返回,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把};后的分号去掉看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询