ocrobot:alpha:d21g18a:serial02
如何调用更多的串口
一般来说,我们手中的d21g18a拥有两个串口, SerialUSB,与Serial1(0,1)
当然我们可能会需要Serial2什么的时候,可以参考下面的范例
#include <Arduino.h> // required before wiring_private.h #include "wiring_private.h" // pinPeripheral() function Uart Serial2 (&sercom1, 11, 10, SERCOM_RX_PAD_0, UART_TX_PAD_2); void SERCOM1_Handler() { Serial2.IrqHandler(); } void setup() { Serial2.begin(115200); // Assign pins 10 & 11 SERCOM functionality pinPeripheral(10, PIO_SERCOM); pinPeripheral(11, PIO_SERCOM); } void loop() { Serial2.print("d"); delay(10); }
原理
Pin | Arduino 'Pin' | SERCOM | SERCOM alt |
PA11 | D0 | SERCOM0.3 | SERCOM2.3 |
PA10 | D1 | SERCOM0.2 | SERCOM2.2 |
PA14 | D2 | SERCOM2.2 | SERCOM4.2 |
PA09 | D3 | SERCOM0.1 | SERCOM2.1 |
PA08 | D4 | SERCOM0.0 | SERCOM2.0 |
PA15 | D5 | SERCOM2.3 | SERCOM4.3 |
PA20 | D6 | SERCOM5.2 | SERCOM3.2 |
PA21 | D7 | SERCOM5.3 | SERCOM3.3 |
PA06 | D8 | SERCOM0.2 | |
PA07 | D9 | SERCOM0.3 | |
PA18 | D10 | SERCOM1.2 | SERCOM3.2 |
PA16 | D11 | SERCOM1.0 | SERCOM3.0 |
PA19 | D12 | SERCOM1.3 | SERCOM3.3 |
PA17 | D13 | SERCOM1.1 | SERCOM3.1 |
PB08 | A1 | SERCOM4.0 | |
PB09 | A2 | SERCOM4.1 | |
PA04 | A3 | SERCOM0.0 | |
PA05 | A4 | SERCOM0.1 | |
PB02 | A5 | SERCOM5.0 | |
PA22 | D20 / SDA | SERCOM3.0 | SERCOM5.0 |
PA23 | D21 / SCL | SERCOM3.1 | SERCOM5.1 |
PA12 | D22 / MISO | SERCOM2.0 | SERCOM4.0 |
PB10 | D23 / MOSI | SERCOM4.2 | |
PB11 | D24 / SCK | SERCOM4.3 |
上表是d21g18a控制板的所有内部开关组的情况
然后我已经预定了如下设备:
预定义
调试串口:
PB22 D30 / EDBG TX SERCOM5.2
PB23 D31 / EDBG RX SERCOM5.3
I2C(SCL,SDA):
使用了SERCOM3(0,1)
PA22 D20 / SDA SERCOM3.0 SERCOM5.0
PA23 D21 / SCL SERCOM3.1 SERCOM5.1
SPI
使用了SERCOM4(0,2,3)
PA12 D22 / MISO SERCOM2.0 SERCOM4.0
PB10 D23 / MOSI SERCOM4.2
PB11 D24 / SCK SERCOM4.3
硬件串口(Serial1)
SERCOM 0
PA11 D0 SERCOM0.3 SERCOM2.3
PA10 D1 SERCOM0.2 SERCOM2.2
可用的SERCOM开关与
SERCOM1
PA18 | D10 | SERCOM1.2 | SERCOM3.2 |
PA16 | D11 | SERCOM1.0 | SERCOM3.0 |
PA19 | D12 | SERCOM1.3 | SERCOM3.3 |
PA17 | D13 | SERCOM1.1 | SERCOM3.1 |
SERCOM2
PA11 | D0/RX | SERCOM0.3 | SERCOM2.3 |
PA10 | D1/TX | SERCOM0.2 | SERCOM2.2 |
PA14 | D2 | SERCOM2.2 | SERCOM4.2 |
PA09 | D3 | SERCOM0.1 | SERCOM2.1 |
PA08 | D4 | SERCOM0.0 | SERCOM2.0 |
PA15 | D5 | SERCOM2.3 | SERCOM4.3 |
PA12 | D22/MISO | SERCOM2.0 | SERCOM4.0 |
SERCOM5
PA20 | D6 | SERCOM5.2 | SERCOM3.2 |
PA21 | D7 | SERCOM5.3 | SERCOM3.3 |
PB02 | A5 | SERCOM5.0 | |
PA22 | D20/SDA | SERCOM3.0 | SERCOM5.0 |
PA23 | D21/SCL | SERCOM3.1 | SERCOM5.1 |
ocrobot/alpha/d21g18a/serial02.txt · 最后更改: 2023/06/07 04:23 由 127.0.0.1