|
各位好兄弟們,幫忙看看這段代碼有什么問題?
if(flag1==1&&flag2==1&&flag3==1&&flag4==1) {PrintString1("L111100000");}
else if(flag1==1&&flag2==1&&flag3==1&&flag4==0) {PrintString1("L111000000");}
else if(flag1==1&&flag2==1&&flag3==0&&flag4==1) {PrintString1("L110100000");}
/*else if(flag1==1&&flag2==1&&flag3==0&&flag4==0) {PrintString1("L110000000");} */ 中斷點(diǎn)1
else if(flag1==1&&flag2==0&&flag3==1&&flag4==1) {PrintString1("L101100000");}
else if(flag1==1&&flag2==0&&flag3==1&&flag4==0) {PrintString1("L101000000");}
else if(flag1==1&&flag2==0&&flag3==0&&flag4==1) {PrintString1("L100100000");}
else if(flag1==1&&flag2==0&&flag3==0&&flag4==0) {PrintString1("L100000000");}
else if(flag1==0&&flag2==1&&flag3==1&&flag4==1) {PrintString1("L011100000");}
else if(flag1==0&&flag2==1&&flag3==1&&flag4==0) {PrintString1("L011000000");}
else if(flag1==0&&flag2==1&&flag3==0&&flag4==1) {PrintString1("L010100000");}
else if(flag1==0&&flag2==1&&flag3==0&&flag4==0) {PrintString1("L010000000");}
else if(flag1==0&&flag2==0&&flag3==1&&flag4==1) {PrintString1("L001100000");}
else if(flag1==0&&flag2==0&&flag3==1&&flag4==0) {PrintString1("L001000000");}
else if(flag1==0&&flag2==0&&flag3==0&&flag4==1) {PrintString1("L000100000");}
/*else if(flag1==0&&flag2==0&&flag3==0&&flag4==0) {PrintString1("L000000000");} */中斷點(diǎn)2
問題描述:注釋的兩句代碼,解除注釋后,代碼會運(yùn)行不下去,卡住。注釋掉后正常進(jìn)行。
PrintString1函數(shù)是一個串口發(fā)送數(shù)據(jù)函數(shù),代碼如下
void PrintString1(unsigned char code *puts) //發(fā)送一串字符串
{
for (; *puts != 0; puts++) UART1_TxByte(*puts); //遇到停止符0結(jié)束
}
其實我并不認(rèn)為是這個函數(shù)的問題,因為其他if語句中也有這段代碼。
請各位朋友們看看是什么原因
|
|