软件兼容与基础示例
先按 快速开始 验证 Blink。以下基础示例不需要安装第三方库。
经典 Nano 程序迁移
Nano Every 使用 ATmega4809,经典 Nano 使用 ATmega328P。引脚布局相同不代表寄存器、定时器和中断实现相同。
- 选择 Arduino Nano Every 后重新编译程序。
- 检查第三方库是否支持 megaAVR 架构与 ATmega4809。
- 若旧程序依赖 ATmega328P 寄存器,参考官方入门教程检查 "Registers emulation" 选项。
- 检查 PWM 引脚,尤其是经典 Nano 程序使用 D11 的情况。
- 检查串口用途:电脑通信使用 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。
结果对照
| 验证项 | 连接 | 预期结果 |
|---|---|---|
| Blink | 仅 USB | 板载 L 灯周期闪烁 |
| 外部 UART 回环 | D1 与 D0 短接 | 串口监视器收到发送内容 |
| 模拟采样 | 电位器接 A0 | 转动时读数变化 |
| PWM 调光 | D9 接电阻和 LED | 外接 LED 亮度周期变化 |