用户工具

站点工具


ocrobot:alpha:d21g18a:tutorial02

如何调用更多的串口

一般来说,我们手中的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/tutorial02.txt · 最后更改: 2023/06/07 04:23 由 127.0.0.1