You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Arduino上传报错:未选择开发板,附代码及错误栈求助

解决Arduino上传时"Board is not selected"错误及代码问题

咱们先搞定最核心的「Board is not selected」错误——这是Arduino IDE不知道要把程序传到哪块板卡上,操作超简单:

一、选择正确的开发板与端口

  • 打开Arduino IDE后,点击顶部菜单栏的Tools(工具)选项
  • 找到Board(开发板)子菜单,从中挑你手里正在用的Arduino型号(比如常用的Arduino Uno、Nano)
  • 别忘了同步选对Port(端口):同样在Tools菜单里,Port选项里会显示连接电脑的串口(Windows是COM开头,Mac/Linux是/dev/tty开头)

不过就算解决了板卡问题,你的代码还有几个小bug会导致编译失败,我一起帮你修正:

二、修复代码里的语法与逻辑错误

先看看原代码里的问题:

  1. 按钮引脚被设成了OUTPUT模式:按钮是输入设备,得设成INPUT才能读取它的状态
  2. digitalRead()函数用错了:它只能接受一个引脚参数,你传了两个,肯定报错
  3. 三元运算符的逻辑不对:应该读取按钮状态来控制LED,而不是把LED引脚当参数传进去

修正后的代码:

const int buttonPin = 2; 
const int ledPin = 13; 

void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(buttonPin, INPUT); // 修正按钮为输入模式
} 

void loop() {
  // 读取按钮状态,按下LED亮,松开LED灭
  int buttonState = digitalRead(buttonPin);
  if(buttonState == HIGH){
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }
  
  // 要是喜欢简洁写法,也可以用修正后的三元运算符:
  // digitalWrite(ledPin, digitalRead(buttonPin) == HIGH ? HIGH : LOW);
}

三、最后验证流程

  1. 按照第一步选好开发板和对应的串口
  2. 把代码替换成修正后的版本
  3. 点击IDE左上角的「验证」按钮,确认编译没有报错
  4. 再点「上传」按钮,应该就能顺利把程序传到你的Arduino上啦!

内容的提问来源于stack exchange,提问作者user8842434

火山引擎 最新活动