起起落落落落落落落落…… 2022-01-24 12:07 采纳率: 100%
浏览 303
已结题

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 ‘}’”

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

尝试过增减分号和大括号

我想要达到的结果

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

  • 写回答

2条回答 默认 最新

  • qllaoda 2022-01-24 13:50
    关注

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

    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);
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
  • 有问必答小助手 2022-01-24 17:56
    关注
    您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
    PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月1日
  • 已采纳回答 1月24日
  • 创建了问题 1月24日

悬赏问题

  • ¥15 关于网上一个easyx制作的见缝插针小游戏(c++)
  • ¥15 开地址法双散列函数处理碰撞
  • ¥15 想问一下这个是什么情况 虚拟机Linux打不开了
  • ¥15 联通光猫掉注册了怎么重新注册上去
  • ¥15 关于unity开发steamvr程序遇到的问题
  • ¥60 求tc downloader的下载方式
  • ¥15 华为 快捷方式 手电筒 接口
  • ¥15 Qt6.5支不支持Android13开发啊
  • ¥20 网络只能跑一半,应该如何设置
  • ¥20 Python调用百度开发者平台人脸识别接口