@@ -28,8 +28,10 @@ SWDCLK TX1/MISO* 30 | A30 A31 | 31 * RX1/SS
28
28
```
29
29
30
30
31
- # Pins descriptions for Generic ATsamD11C14A
32
- ## PIN_MAP_STANDARD
31
+ ## Pins descriptions for Generic ATsamD11C14A
32
+
33
+ ### PIN_MAP_STANDARD
34
+ ```
33
35
====================================================================================================================================
34
36
Arduino | Port | Alternate Function | Comments (! means not used with this peripheral assignment)
35
37
--------|-------|-----------------------|-------------------------------------------------------------------------------------------
@@ -66,8 +68,11 @@ Arduino | Port | Alternate Function | Comments (! means not used with this perip
66
68
30 | PA30 | MISO / SWD CLK | !EIC/EXTINT[2] SERCOM1/PAD[0] !SERCOM1/PAD[2] !TC2/WO[0] !TCC0/WO[2] SWD CLK, leave floating during boot
67
69
31 | PA31 | SS / SWD IO | EIC/EXTINT[3] SERCOM1/PAD[1] !SERCOM1/PAD[3] !TC2/WO[1] !TCC0/WO[3] SWD IO
68
70
====================================================================================================================================
71
+ ```
72
+
69
73
70
- ## PIN_MAP_COMPACT
74
+ ### PIN_MAP_COMPACT
75
+ ```
71
76
====================================================================================================================================
72
77
Arduino | Port | Alternate Function | Comments (! means not used with this peripheral assignment)
73
78
--------|-------|-----------------------|-------------------------------------------------------------------------------------------
@@ -96,68 +101,57 @@ Arduino | Port | Alternate Function | Comments (! means not used with this perip
96
101
* When using ONE_UART_NO_WIRE_ONE_SPI, Serial1 refers to TX2/RX2 instead of TX1/RX1.
97
102
* Leave pin A30 floating (or use external pullup) during reset.
98
103
* SERCOM2 does not exist on the D11C14A.
104
+ ```
99
105
100
106
101
- # Board Configuration Notes
102
-
103
- TODO: Update this for Generic D11C14A
107
+ ## Board Configuration Notes
104
108
105
- * Either the 32.768KHz crystal or the 16MHz crystal can be used.
106
- * The bootloader does not use an external crystal by default. Double-tap the reset button to enter.
109
+ * ** Crystals**
110
+ * Either a 32.768KHz crystal or a high speed crystal can be used.
111
+ * The bootloader does not use an external crystal by default. Double-tap the reset button to enter manually.
107
112
108
- * ** Digital: All pins can be used for general purpose I/O **
109
- * Supports INPUT, OUTPUT, INPUT_PULLUP, and INPUT_PULLDOWN.
110
- * Each pin can source or sink a maximum of 7 mA (when PER_ATTR_DRIVE_STRONG is set for the pin).
113
+ * ** GPIO **
114
+ * All pins (including analog) support INPUT, OUTPUT, INPUT_PULLUP, and INPUT_PULLDOWN.
115
+ * Each pin can source or sink a maximum of 7 mA (when PER_ATTR_DRIVE_STRONG is set for the pin, enabled by default ).
111
116
* Internal pull-up and pull-down resistors of 20-60 Kohms (40Kohm typ., disconnected by default).
112
- * Use the pinMode(), digitalWrite(), and digitalRead() functions.
113
- * ** Analog Inputs: 10 pins can be configured as ADC analog inputs. **
114
- * These are available using the analogRead() function .
115
- * All pins can be used for GPIO and some pins can be used for other digital functions (ie. pwm or serial) .
117
+
118
+ * ** Analog Inputs**
119
+ * 5 pins can be configured as ADC analog inputs .
120
+ * Each pin measures from ground to 3.3 volts by default .
116
121
* Each pin provides 10 bits of resolution (1024 values) by default.
117
122
* 12-bit resolution supported by using the analogReadResolution() function.
118
- * Each pin measures from ground to 3.3 volts.
119
- * The upper end of the measurement range can be changed using the AREF pin and the analogReference() function.
120
- * ** DAC: One analog output is available on pin 2.**
123
+ * The upper end of the measurement range can be changed using the analogReference() function.
124
+ * A reference voltage can be connected to REF.
125
+
126
+ * ** DAC**
127
+ * One analog output is available on pin 2.
121
128
* Provides a 10-bit voltage output with the analogWrite() function.
122
- * ** PWM: 12 pins (MT-D21E) or 8 pins (MT-D11) can be configured as PWM outputs.**
123
- * Available using the analogWrite() function.
129
+
130
+ * ** PWM**
131
+ * 6 pins can be configured as PWM outputs.
124
132
* Each pin provides 8 bits of resolution (256 values) by default.
125
133
* 12-bit resolution supported by using the analogWriteResolution() function.
126
- * ** External Interrupts: 15 pins (MT-D21E) or 9 pins (MT-D11) can be configured with external interrupts.**
127
- * Available using the attachInterrupt() function.
128
- * ** Serial: 2 pairs of pins (MT-D21E) or 1 pair (MT-D11) can be configured for TTL serial I/O.**
129
- * MT-D21E: Serial1: pin 11 (RX) and pin 10 (TX). Serial2: pin 15 (RX) and pin 14 (TX).
130
- * MT-D11: Serial1: pin 31 (RX) and pin 30 (TX).
131
- * ** SPI: 3 or 4 pins can be configured for SPI I/O (SPI).**
132
- * MT-D21E: Pin 18 (MOSI), pin 19 (SCK), pin 22 (MISO), and optionally pin 23 (SS, not currently used).
133
- * MT-D11: Pin 10 (MOSI), pin 11 (SCK), pin 14 (MISO), and optionally pin 15 (SS, not currently used).
134
- * SPI communication using the SPI library.
135
- * Note that the SPI library will set SS as an output.
136
- * On the MT-D11, the button must be configured as reset (default) when using SPI.
137
- * ** TWI (I2C): 2 pins can be configured for TWI I/O (Wire).**
138
- * MT-D21E: Pin 16 (SDA) and pin 17 (SCL).
139
- * MT-D11: Pin 22 (SDA) and pin 23 (SCL).
140
- * TWI communication using the Wire library.
141
- * ** LED: One pin can be configured to light the onboard LED (LED_BUILTIN).**
142
- * Pin 28 (MT-D21E) or pin 16 (MT-D11). Bring the pin HIGH to turn the LED on. The pullup is disabled on this pin.
143
- * ** Button: One pin can be configured to read the onboard Button A (BUTTON_BUILTIN).**
144
- * Pin 27 (MT-D21E) or pin 15 (MT-D11). Pressing the button will bring the pin LOW. The pullup must be enabled first.
145
- * If the debouncing capacitor is connected, delay reading the pin at least 6ms after turning on the pullup.
146
- * ** AREF: One pin can be configured as an AREF analog input.**
147
- * The upper end of the analog measurement range can be changed using the analogReference() function.
148
- * ** Reset: Bring this line LOW to reset the microcontroller.**
149
-
150
-
151
-
152
- # PinDescription table format
153
-
154
- ## Note that a new column (GCLKCCL) was added for 1.6.8-beta-b0.
134
+
135
+ * ** External Interrupts**
136
+ * 7 pins can be configured with external interrupts.
137
+
138
+ * ** SERCOM**
139
+ * 2 SERCOM are available.
140
+ * Up to 2 UART instances
141
+ * 1 SPI instance
142
+ * 1 WIRE (I2C) instance
143
+
144
+
145
+
146
+ ## PinDescription table format
147
+
148
+ ### Note that a new column (GCLKCCL) was added for 1.6.8-beta-b0.
155
149
MATTAIRTECH_ARDUINO_SAMD_VARIANT_COMPLIANCE in variant.h is used to track versions.
156
150
If using board variant files with the old format, the new core will still read the
157
151
table the old way, losing any new features introduced by the new column. Additionally,
158
152
new definitions have been added for L21 and C21 support.
159
153
160
- ## Each pin can have multiple functions.
154
+ ### Each pin can have multiple functions.
161
155
The PinDescription table describes how each of the pins can be used by the Arduino
162
156
core. Each pin can have multiple functions (ie: ADC input, digital output, PWM,
163
157
communications, etc.), and the PinDescription table configures which functions can
@@ -168,7 +162,7 @@ analogReference(), attachInterrupt(), and pinMode() all call pinPeripheral() to
168
162
verify that the pin can perform the function requested, and to configure the pin for
169
163
that function. Most of the contents of pinMode() are now in pinPeripheral().
170
164
171
- ## Pin Mapping
165
+ ### Pin Mapping
172
166
There are different ways that pins can be mapped. Typically, there is no relation
173
167
between the arduino pin number used, and the actual port pin designator. Thus, the
174
168
pcb must be printed with the arduino numbering, otherwise, if the port pin is printed,
@@ -184,15 +178,15 @@ designators from both PORTA and PORTB for arduino numbers 0-31 (ie: B1=1, A2=2),
184
178
using arduino numbering only above 31. For 0-31 only one pin from PORTA or PORTB can be
185
179
used, leaving the other pin for some number above 31.
186
180
187
- ## See WVariant.h in cores/arduino for the definitions used in the table.
181
+ ** See [ WVariant.h] ( https://github.com/mattairtech/ArduinoCore-samd/tree/master/ cores/arduino/WVariant.h ) for the definitions used in the table.**
188
182
189
- ### Port:
183
+ ### Port
190
184
This is the port (ie: PORTA).
191
185
192
- ### Pin:
186
+ ### Pin
193
187
This is the pin (bit) within the port. Valid values are 0-31.
194
188
195
- ### PinType:
189
+ ### PinType
196
190
This indicates what peripheral function the pin can be attached to. In most cases,
197
191
this is PIO_MULTI, which means that the pin can be anything listed in the PinAttribute
198
192
field. It can also be set to a specific peripheral. In this case, any attempt to
0 commit comments