跳到主要内容

软件兼容与基础示例

先按 快速开始 验证 Blink。以下基础示例不需要安装第三方库。

经典 Nano 程序迁移​

Nano Every 使用 ATmega4809,经典 Nano 使用 ATmega328P。引脚布局相同不代表寄存器、定时器和中断实现相同。

  1. 选择 Arduino Nano Every 后重新编译程序。
  2. 检查第三方库是否支持 megaAVR 架构与 ATmega4809。
  3. 若旧程序依赖 ATmega328P 寄存器,参考官方入门教程检查 "Registers emulation" 选项。
  4. 检查 PWM 引脚,尤其是经典 Nano 程序使用 D11 的情况。
  5. 检查串口用途:电脑通信使用 Serial,D0、D1 外接设备使用 Serial1。

寄存器仿真用于部分旧程序兼容,不能保证所有汇编、寄存器操作或依赖特定定时器的库均可使用。依据:Nano Every 官方兼容说明。

外部 UART 回环​

断电后将 D1/TX 与 D0/RX 短接,再连接 USB。

void setup() {
Serial.begin(9600);
Serial1.begin(9600);
}

void loop() {
if (Serial.available() > 0) {
Serial1.write(Serial.read());
}
if (Serial1.available() > 0) {
Serial.write(Serial1.read());
}
}

上传后打开串口监视器,选择 9600 波特率并发送文字。预期文字经外部 UART 回环后返回电脑。没有回显时,检查 D0、D1 短接位置与程序上传结果。测试完成后断电拆除短接线,再接外设。

模拟采样​

断电后,将电位器两端分别接 5 V 和 GND,滑动端接 A0。连接 USB,打开 IDE 内置 "01.Basics" > "AnalogReadSerial",选择 Nano Every 与对应端口后上传。

打开串口监视器,设为 9600 波特率。转动电位器,预期读数在 0–1023 范围内变化。输入悬空时的变化读数不能用于判断 ADC 是否故障。

参考:Arduino AnalogReadSerial 示例教程。

PWM 调光​

断电后,将 LED 阳极通过 220 Ω 限流电阻接 D9,阴极接 GND。打开 IDE 内置 "01.Basics" > "Fade",核对 LED 引脚为 D9 后上传。

预期外接 LED 亮度逐渐增加、再逐渐减小。analogWrite 占空比范围为 0–255。板载 D13 LED 不支持本板的 PWM 调光,应使用 D3、D5、D6、D9 或 D10。

参考:Arduino Fade 示例教程。

结果对照​

验证项连接预期结果
Blink仅 USB板载 L 灯周期闪烁
外部 UART 回环D1 与 D0 短接串口监视器收到发送内容
模拟采样电位器接 A0转动时读数变化
PWM 调光D9 接电阻和 LED外接 LED 亮度周期变化