在 Linux 上使用 Arduino(IDE) 上传程序会报错,譬如:avrdude: ser_open(): can’t open device “/dev/ttyUSB0”,这是因为没有权限写入,只需在终端执行:

sudo chmod 777 /dev/ttyUSB0

其中的 ttyUSB0 工具>端口 中的项保持一致即可。

这么一点就写完了?不行,再贴点官网的东西😂

关于上传

上传程序之前,你需要通过工具>控制板以及工具>端口选择正确的选项,控制板的描述在这里。在Mac中,端口可能像/dev/tty.usbmodem241 (Uno或Mega2560或Leonardo)这样,或是像/dev/tty.usbserial-1B1 (Duemilanove或更老的版本)这样,或是像/dev/tty.USA19QW1b1P1.1 (使用Keyspan USB转串口适配器连接的控制板)这样。在Windows中,通常是COM1或COM2 (串口板),或是COM4, COM5, COM7或更大(USB接口板),通常在Windows的设备管理器中查看USB串口设备的串口号。在Linux中,通常显示的是/dev/ttyACMx , /dev/ttyUSBx之类的。

一旦你选择了正确的控制板和端口,那么当你点击工具栏中的上传按钮或是在项目菜单中选择上传子菜单时,当前的Arduino控制板就会自动重启然后开始上传。老版的控制板(Diecimila之前)没有自动重启功能,所以当你开始上传时需要按以下板上的重启按钮。更多的控制板的情况是,当上传时你能看到RX和TX灯开始闪烁。当上传完成时,Arduino软件(IDE)将显示一个上传完成的信息,或是显示一个上传错误的信息。

当你上传项目时,使用到了Arduino的引导程序,这个一个在微控制器中运行的非常小的程序 ,这个程序允许你在没有其他附件硬件设备的情况下上传代码。引导程序在控制板重启的时候会运行几秒钟,此时就能够将项目上传到微控制器当中。当引导程序运行时板载的LED(13脚)会闪烁(比如重启的时候)。

关于板

  • Arduino Yùn
    基于ATmega32u4, 16 MHz晶振,自动复位, 12个模拟量输入, 20个数字 I/O ,其中7个 PWM.
  •  Arduino/Genuino Uno
    基于 ATmega328, 16 MHz晶振,自动复位, 6个模拟量输入, 14个数字 I/O ,其中6个 PWM.
  •  Arduino Diecimila 或 Duemilanove w/ ATmega168
    基于ATmega168,16 MHz晶振,自动复位,
  •  Arduino Nano w/ ATmega328
    基于ATmega328,16 MHz晶振,自动复位, .8个模拟量输入.
  •  Arduino/Genuino Mega 2560
    基于ATmega2560 ,16 MHz晶振,自动复位, 16个模拟量输入,54个数字 I/O,其中15个 PWM.
  •  Arduino Mega
    基于ATmega1280 ,16 MHz晶振,自动复位, 16个模拟量输入, 54个数字 I/O ,其中15个 PWM.
  •  Arduino Mega ADK
    基于ATmega2560,16 MHz晶振,自动复位, 16个模拟量输入, 54个数字 I/O,其中15 个PWM.
  •  Arduino Leonardo
    基于 ATmega32u4,16 MHz晶振,自动复位, 12个模拟量输入, 20个数字 I/O ,其中7个 PWM.
  •  Arduino/Genuino Micro
    基于 ATmega32u4,16 MHz晶振,自动复位, 12个模拟量输入, 20个数字 I/O ,其中7个 PWM.
  •  Arduino Esplora
    基于 ATmega32u4,16 MHz晶振,自动复位,
  •  Arduino Mini w/ ATmega328
    基于 ATmega328, 16 MHz晶振,自动复位, 8个模拟量输入, 14个数字 I/O ,其中6个 PWM
  •  Arduino Ethernet
    等效于ArduinoUNO与以太网扩展板的组合,基于 ATmega328, 16 MHz晶振,自动复位, 6个模拟量输入, 14个数字 I/O ,其中6个 PWM
  •  Arduino Fio
    基于 ATmega328, 8 MHz晶振,自动复位, 等效于Arduino Pro 或 Pro Mini (3.3V, 8 MHz) w/ ATmega328 ,6个模拟量输入, 14个数字 I/O ,其中6个 PWM
  •  Arduino BT w/ ATmega328
    基于 ATmega328, 16 MHz晶振,引导程序包含蓝牙模块的初始化程序,6个模拟量输入, 14个数字 I/O ,其中6个 PWM
  •  LilyPad Arduino USB
    基于 ATmega32u4, 8MHz晶振,自动复位, 4个模拟量输入, 9个数字 I/O ,其中4个 PWM
  •  LilyPad Arduino
    基于 ATmega168或 ATmega132, 8MHz晶振,自动复位, 6个模拟量输入, 14个数字 I/O ,其中6个 PWM
  •  Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328
    基于 ATmega328,16 MHz晶振,自动复位. 等效于Arduino Duemilanove 或
  •  Nano w/ ATmega328, 6个模拟量输入, 14个数字I/O ,其中6个 PWM.
  •  Arduino NG or older w/ ATmega168
    基于 ATmega168,16 MHz晶振,没有自动复位功能,编译和上传等效于Arduino
  •  Diecimila 或 Duemilanove w/ ATmega168,不过上传引导程序超时较慢(13脚的LED在重启后会闪烁3次),6个模拟量输入, 14个数字I/O,其中6 个PWM.
  •  Arduino Robot Control
    基于 ATmega328,16 MHz晶振,自动复位.
  •  Arduino Robot Motor
    基于 ATmega328,16 MHz晶振,自动复位.
  •  Arduino Gemma
    基于 ATtiny85,8 MHz晶振,自动复位. 1 个模拟量输入, 3个数字I/O ,其中2个 PWM.

锬 于2017年3月31日

CC BY-SA 3.0