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会导致编译失败,我一起帮你修正:
二、修复代码里的语法与逻辑错误
先看看原代码里的问题:
- 按钮引脚被设成了
OUTPUT模式:按钮是输入设备,得设成INPUT才能读取它的状态 digitalRead()函数用错了:它只能接受一个引脚参数,你传了两个,肯定报错- 三元运算符的逻辑不对:应该读取按钮状态来控制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); }
三、最后验证流程
- 按照第一步选好开发板和对应的串口
- 把代码替换成修正后的版本
- 点击IDE左上角的「验证」按钮,确认编译没有报错
- 再点「上传」按钮,应该就能顺利把程序传到你的Arduino上啦!
内容的提问来源于stack exchange,提问作者user8842434




