欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
寫了個單片機中斷的程序總是出錯請大家看一下c141 syntax error near')'
[打印本頁]
作者:
工控新鳥
時間:
2019-10-25 18:11
標題:
寫了個單片機中斷的程序總是出錯請大家看一下c141 syntax error near')'
#include"reg51.h"
#define uchar unsigned char
uchar cishu;
void delay(void)
{
uchar a, b, c;
for (a = 0, a < 5, a++)
{
for (b = 0, b < 200, b++)
{
for (c = 0, c < 200, c++)
{
;
}
}
}
}
void delay10ms(void)
{
uchar a, b;
for (a = 0, a < 5, a++)
{
for (b = 0, b < 200, b++)
{
;
}
}
}
void cswx()
{
uchar i;
i = 0x01;
for (i = 0, i < 8, i++)
{
i <<= 1;
P1 = ~i;
}
delay;
}
void cxws ()
{
uchar i;
i = 0x80;
for (i = 0, i < 8, i++)
{
i >>= 1;
P1 = ~i;
}
delay;
}
void cwwl()
{
uchar huayang[4] {0x81, 0x42, 0x24, 0x18};
uchar i;
for (i = 0, i < 4, i++)
{
P1 = ~huayang[i];
}
delay;
}
void main(void)
{
EA = 1;
EX0 = 1;
IT0 = 1;
switch (cishu)
{
case cishu=1: cswx(); break;
case cishu=2: cxws(); break;
case cishu=3: cwwl(); break;
}
}
void int_0 () interrupt 0
{
delay10ms();
if (INT0 == 0)
{
cishu++;
if (cishu > 3)
{
cishu = 1;
}
}
}
復制代碼
總是提示錯誤代碼c141 syntax error near')'
c211 non-constant case/dim expressio怎么解決??
作者:
angmall
時間:
2019-10-26 21:23
程序有問題,
void main(void)
{
EA = 1;
EX0 = 1;
IT0 = 1;
switch (cishu)
{
//case cishu=1: cswx(); break; //這里錯了
//給你改了
case 1: cswx(); break;
case 2: cxws(); break;
case 3: cwwl(); break;
}
}
作者:
wulin
時間:
2019-10-27 07:23
根據(jù)程序判斷,樓主是想寫一個按鍵外部中斷切換花樣流水燈,但程序錯誤太多,有點離譜。
按樓主的意圖,修改好了,可以滿足樓主意圖,做了詳細注釋,樓主可以比對犯了那些錯誤。
#include"reg51.h"
#define uchar unsigned char
uchar cishu;
bit flag=0;//增加中斷標志,提供跳出循環(huán)條件
void delay(void)
{
uchar a, b, c;
for (a = 0; a < 5; a++)//循環(huán)中的符號是";"不是",",下同
for (b = 0; b < 200; b++)
for (c = 0; c < 200; c++);
}
void delay10ms(void)
{
uchar a, b;
for (a = 0; a < 5; a++)
for (b = 0; b < 200; b++);
}
void cswx()
{
uchar i,j;//增加一個變量,下同
j = 0x01;//"i"在循環(huán)中不可隨意更改,否則循環(huán)亂套,下同
for (i = 0; i < 8; i++)
{
if(flag==1)//判斷是否切換,下同
{
flag=0;//標志清0,下同
break; //跳出循環(huán),下同
}
P1 = ~j;//賦值在先,下同
delay();//延時放在循環(huán)中,下同
j <<= 1;//移位在后,下同
}
}
void cxws ()
{
uchar i,j;
j = 0x80;
for (i = 0; i < 8; i++)
{
if(flag==1)
{
flag=0;
break;
}
P1 = ~j;
delay();
j >>= 1;
}
}
void cwwl()
{
uchar huayang[4]={0x81, 0x42, 0x24, 0x18};//缺少"="
uchar i;
for (i = 0; i < 4; i++)
{
if(flag==1)
{
flag=0;
break;
}
P1 = ~huayang[i];
delay();
}
}
void main(void)
{
EA = 1;
EX0 = 1;
IT0 = 1;
while (1)//必須設(shè)置死循環(huán),程序約束在主循環(huán)中運行
{
switch (cishu)
{
case 1: cswx(); break;//多分枝判斷條件不可以用賦值方式
case 2: cxws(); break;
case 3: cwwl(); break;
}
}
}
void int_0 () interrupt 0
{
delay10ms();
if (INT0 == 0)
{
cishu++;
if (cishu > 3)
{
cishu = 1;
}
}
flag=1;//發(fā)生按鍵切換的需求
}
復制代碼
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1