(新人求助)为什么setup在无限循环-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2225|回复: 11

[未解决] (新人求助)为什么setup在无限循环

[复制链接]
发表于 2021-11-16 15:06 | 显示全部楼层 |阅读模式
#include <Timer.h>
Timer t;

    const int PA[]={22,23,24,25,26,27,28,29};      
    const int PD[]={14,15,16,17,18,19,20,21};     

const int LedPin_BIT = 13;   
    const int RL1_BIT = 2;        
    const int RL2_BIT = 3;        
    const int RL3_BIT = 4;      
    const int RL4_BIT = 5;      
    const int RL5_BIT = 6;        
    const int RL6_BIT = 7;         
    const int RL7_BIT = 8;  
void setup() {
pinMode(LedPin_BIT, OUTPUT);
    t.oscillate(LedPin_BIT,200, LOW);  

    pinMode(RL1_BIT, OUTPUT);      
    pinMode(RL2_BIT, OUTPUT);         
    pinMode(RL3_BIT, OUTPUT);      
    pinMode(RL4_BIT, OUTPUT);         
    pinMode(RL5_BIT, OUTPUT);      
    pinMode(RL6_BIT, OUTPUT);         
    pinMode(RL7_BIT, OUTPUT);      

    digitalWrite(RL1_BIT, HIGH);
    digitalWrite(RL2_BIT, HIGH);
    digitalWrite(RL3_BIT, HIGH);
    digitalWrite(RL4_BIT, HIGH);
    digitalWrite(RL5_BIT, HIGH);
    digitalWrite(RL6_BIT, HIGH);
    digitalWrite(RL7_BIT, HIGH);

   for (int L = 0; L<=7; L++) {
      pinMode(PA[L], OUTPUT);     
     pinMode(PD[L], OUTPUT);   
     digitalWrite(PA[L], LOW);   
   digitalWrite(PD[L], LOW);  
        digitalWrite(LedPin_BIT, LOW);
        delay(50);
        digitalWrite(LedPin_BIT, HIGH);
        delay(50);
    }
    Serial.begin(19200);
    Serial.println("ok");
}


void loop() {
    t.update();
    delay(1000);           // 延时 1000 毫秒
     for (int L = 0; L<=7; L++) {
        digitalWrite(PA[L], HIGH);   
        digitalWrite(PD[L], HIGH);   
     }
     delay(1000);
     for (int L = 0; L<=7; L++) {
        digitalWrite(PA[L], HIGH);   
        digitalWrite(PD[L], HIGH);   
     }
    Serial.println("ok2");
}
代码如上,本来是测试两组LED亮灭的,发现 串口输出一直都是
ok
ok
ok
ok
ok
ok
ok
ok
ok
ok
ok
ok
ok
,这明显是setup函数一直在循环输出呀,新人初学,请求各位大神帮忙解答。


 楼主| 发表于 2021-11-16 15:08 | 显示全部楼层
自己顶,有人吗
 楼主| 发表于 2021-11-16 15:11 | 显示全部楼层
板子是MEGA 2560
 楼主| 发表于 2021-11-16 16:00 | 显示全部楼层
是问题太LOW了没人回答吗。新人急帮忙
发表于 2021-11-16 16:59 | 显示全部楼层

回帖奖励 +1 金币

看起来没问题,自己删除一下试试
 楼主| 发表于 2021-11-17 08:18 | 显示全部楼层
Zoologist 发表于 2021-11-16 16:59
看起来没问题,自己删除一下试试

上传别的程序没有循环,这个我看不出来问题,但是setup确实一直在循环,新人,搞不懂什么情况下会有这种问题。
 楼主| 发表于 2021-11-17 08:27 | 显示全部楼层
我发现我写的测试程序,只要setup里输出字符到串口,就会发现串口接收一直在循环接收,都是SETUP里输出的。什么情况啊这是
发表于 2021-11-17 09:35 | 显示全部楼层
你把Serial.begin(19200);放setup()的第一行,其后再加上一行Serial.println("start");看是什么结果。
发表于 2021-11-17 09:47 | 显示全部楼层
lvsm158070 发表于 2021-11-17 08:18
上传别的程序没有循环,这个我看不出来问题,但是setup确实一直在循环,新人,搞不懂什么情况下会有这种 ...

一种可能是你后面的代码导致不断重启,而不是一直在 setup中循环
 楼主| 发表于 2021-11-17 11:47 | 显示全部楼层
Zoologist 发表于 2021-11-17 09:47
一种可能是你后面的代码导致不断重启,而不是一直在 setup中循环

什么情况会导致不断重启?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 21:55 , Processed in 0.107096 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表