Arduino按键循环计数0到9并用数码管显示的代码怎么修改

问题遇到的现象和发生背景

编译提示分号和大括号有误,修改多次后问题没有解决

问题相关代码,请勿粘贴截图
int pushButton=2int beforeState=0;//检测上一次按下是否松开
int buttonState=0;//初始值为0
int presstime=0;//记录按了几次
int a=7;
int b=8;
int c=3;
int d=10;
int e=9;
int f=6;
int g=5;
int DP=4;
// 初始化
void setup() {
 // 初始化串口
 Serial.begin(9600); 
 // 把按键引脚设置为输入
 pinMode(pushButton, INPUT)//定义端口2为输入引脚.
 for(int i=3;i<11;i++)
 {pinMode(i,OUTPUT);}
  //把 LED 引脚设置为输出
 }
int numTable[10][8]=
{
  { 1,1,1,1,1,1,0,0},
  { 0,1,1,0,0,0,0,0},
  { 1,1,0,1,1,0,1,0},
  { 1,1,1,1,0,0,1,0},
  { 0,1,1,0,0,1,1,0},
  { 1,0,1,1,0,1,1,0},
  { 1,0,1,1,1,1,1,0},
  { 1,1,1,0,0,0,0,0},
  { 1,1,1,1,1,1,1,0},
  { 1,1,1,1,0,1,1,0},
};
void loop() 
{ int buttonState=digitalRead(pushButton);  
 if(buttonState==1&&beforeState==0)
 {
  presstime++;
 if(presstime==10)
 {presstime=0;}
 }
 digitalWrite(a,numTable[presstime][0]);
 digitalWrite(b,numTable[presstime][1]);
 digitalWrite(c,numTable[presstime][2]);
 digitalWrite(d,numTable[presstime][3]);
 digitalWrite(e,numTable[presstime][4]);
 digitalWrite(f,numTable[presstime][5]);
 digitalWrite(g,numTable[presstime][6]);
 digitalWrite(DP,numTable[presstime][7]);
 beforeState=buttonState;
 delay(1000);
}


运行结果及报错内容

无法运行,报错内容为“Expected ';' after top level declarator (fix available)”和“Expected‘}’to match this ‘}’”

我的解答思路和尝试过的方法

尝试过增减分号和大括号

我想要达到的结果

编译通过且能实现标题功能

不知道你用了什么编辑器,代码复制出来,在看起来是空格的地方有一些无法显示的字符,下面是去掉了那些字符的,应该没问题了

int pushButton=2; 
int beforeState=0;//检测上一次按下是否松开
int buttonState=0;//初始值为0
int presstime=0;//记录按了几次
int a=7;
int b=8;
int c=3;
int d=10;
int e=9;
int f=6;
int g=5;
int DP=4;
// 初始化
void setup() {
 // 初始化串口
 Serial.begin(9600); 
 // 把按键引脚设置为输入
 pinMode(pushButton, INPUT); //定义端口2为输入引脚.
 for(int i=3;i<11;i++)
 {pinMode(i,OUTPUT);}
  //把 LED 引脚设置为输出
 }
int numTable[10][8]=
{
  { 1,1,1,1,1,1,0,0},
  { 0,1,1,0,0,0,0,0},
  { 1,1,0,1,1,0,1,0},
  { 1,1,1,1,0,0,1,0},
  { 0,1,1,0,0,1,1,0},
  { 1,0,1,1,0,1,1,0},
  { 1,0,1,1,1,1,1,0},
  { 1,1,1,0,0,0,0,0},
  { 1,1,1,1,1,1,1,0},
  { 1,1,1,1,0,1,1,0},
};
void loop() 
{ int buttonState=digitalRead(pushButton);  
 if(buttonState==1&&beforeState==0)
 {
  presstime++;
 if(presstime==10)
 {presstime=0;}
 }
 digitalWrite(a,numTable[presstime][0]);
 digitalWrite(b,numTable[presstime][1]);
 digitalWrite(c,numTable[presstime][2]);
 digitalWrite(d,numTable[presstime][3]);
 digitalWrite(e,numTable[presstime][4]);
 digitalWrite(f,numTable[presstime][5]);
 digitalWrite(g,numTable[presstime][6]);
 digitalWrite(DP,numTable[presstime][7]);
 beforeState=buttonState;
 delay(1000);
}


您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632