尝试用arduino打开led灯x秒

尝试用arduino打开led灯x秒,arduino,Arduino,假设我的代码包含两个数字:num1和num2。然后,应将内置led点亮num1秒,然后将led闪烁num2秒。这应该是一个非常简单的程序,但由于某些原因,led不会亮起。这是我的密码: long num1 = 0; long num2 = 0; void setup() { pinMode(LED_BUILTIN, OUTPUT); Serial.begin(9600); } void循环(){ //将主代码放在此处,以便重复运行: while(Serial.available()=

假设我的代码包含两个数字:
num1
num2
。然后,应将内置led点亮
num1
秒,然后将led闪烁
num2
秒。这应该是一个非常简单的程序,但由于某些原因,led不会亮起。这是我的密码:

long num1 = 0;
long num2 = 0;

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  Serial.begin(9600);
}
void循环(){
//将主代码放在此处,以便重复运行:
while(Serial.available()==0){
}
bool d=真;
而(d){
num1=Serial.parseInt();
延迟(2);
如果(num1>0){
d=假;
}
}
bool c=真;
而(c){
num2=Serial.parseInt();
延迟(2);
如果(num2>0){
c=假;
}
}
//num1=5;
//num2=4;
数码写入(LED内置,高);
延时(num1*1000);
数码写入(LED内置,低电平);
延迟(1500);
对于(int i=0;i
您确定内置的LED与您的电路板对应吗


尝试手动将其设置为13(例如,常规nano)

LED接线是否正确?如果你注释掉所有的串行读取内容,只设置num1和num2,会发生什么?我没有连接任何LED,我使用的是内置在电路板中的LED,如果我注释掉串行读取内容,它会工作perfectly@Roddy知道为什么这样不行吗不,但问题显然出在你的串行代码中,与LED无关。。。把一些
serial.write(“got here”)
行放进去,看看它卡在哪里了。
void loop() {
  // put your main code here, to run repeatedly:
  while (Serial.available() == 0) {
  }
  bool d = true;
  while (d) {
    num1 = Serial.parseInt();
    delay(2);
    if (num1 > 0) {
      d = false;
    }
  }

  bool c = true;
  while (c) {
    num2 = Serial.parseInt();
    delay(2);
    if (num2 > 0) {
      c = false;
    }
  }

  // num1=5;
  // num2=4;

  digitalWrite(LED_BUILTIN, HIGH);
  delay(num1 * 1000);
  digitalWrite(LED_BUILTIN, LOW);
  delay(1500);

  for (int i = 0; i < num2; i++) {
    // delay(1000);
    digitalWrite(LED_BUILTIN, HIGH);
    delay(500);
    digitalWrite(LED_BUILTIN, LOW);
    delay(500);
  }
}