与Arduino Uno相比,Arduino Mega2560的资源就丰富多了,它具有54个数字I/O口(其中14个可提供PWM输出),16个模拟I/O口,4对串行数据通信口(UART),一个复位开关,一个ICSP下载口,支持USB接口和直流电源供电,具体的资源分配见下图。
各引脚定义如下:
数字引脚:0~53
串行通信:提供4组串行通信端口,0(RX)和1(TX)作为串口1,19(RX)和18(TX)作为串口2,17(RX)和16(TX)作为串口3,15(RX)和14(TX)作为串口4
外部中断:提供6个外部中断源,分别是2(外部中断0),3(外部中断1),21(外部中断2),20(外部中断3),19(外部中断4),18(外部中断5)
PWM输出:0~13
SPI通信:53作为SS,51作为MOSI,50作为MISO,52作为SCK
板上LED:13
模拟引脚:A0~A15(在引脚号前加A,以区分数字引脚)
TWI通信:20作为SDA,21作为SCL
PID控制算法是结合比例、积分和微分三种环节于一体的控制算法,它是连续系统中技术最为成熟、应用最为广泛的一种控制算法。
Arduino Zero采用Atmel的SAMD21 MCU为主控制器,该MCU具有32位ARM Cortex®M0+内核。
Arduino OneButton库是一个用于简化按钮操作的库,它可以轻松地处理按钮的单击、双击和长按等操作。适用于Arduino开发板以及ESP32等其他基于Arduino的开发板。
本文从Arduino Uno入手,看看怎样在这个"简单"的8bit单片机搭建一个属于自己的bootloader
许多硬件厂商都希望自己的开发板能被Arduino IDE集成开发环境所支持。这里就以小脚丫开发板所使用的开发包为例,介绍一下第三方开发包的制作方法。
推荐一个有意思的开源项目:PICsimlab 可编程仿真平台。支持 Arduino、ESP、PIC等多个开发板的仿真。