引用: 引用 5 楼 schlafenhamster 的回复:
if(b==4) break;//这句退出while
void zhengti(void)
{
while (1)
{
for (b=0;b<4;b++) // 循环测试4条线
{
if (b==0) //测试仪上四个接口开关选择
{XH1=1;XH2=0;XH3=0;}
if (b==1)
{XH1=1;XH2=0;XH3=1;}
if (b==2)
{XH1=1;XH2=1;XH3=0;}
if (b==3)
{XH1=1;XH2=1;XH3=1;}
delay8(100);//为保证开关闭合需要延迟一段时间
LED=1;
delay8(1000);
LED=0;
PCA0MD &=~0x40;
m=0;
k=0;
x=0;
temp_data=0;
Init_Device();//端口初始化
PCA0L=0;
EA=1;
Interrupts_Init();
UART_initial();
CSDY =1;//测试仪电源开关闭合
while (CS==1)
{
if(n > 0 && PCA0L >= TIMEOUT) //高电平持续时间超过120us
{
EA = 0;
//UART_initial();//这句移到上面了(不知道对否)
serial_send(); //从串口发送数据
n = 0;
CS=0;
}
}
CSDY=0;
//LED=1;
delay8(100);
//LED=0;
}
if (b==4) break;
}
}
我这样改了
可是改后好像while(CS==1)那段程序不执行了
我没有接收到数据
不知道怎么回事