aboutsummaryrefslogtreecommitdiffstats
path: root/docs/source/gpio.rst
blob: 25672212902e28eb1d01266e466e57465c6d7c32 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
.. _gpio:

======
 GPIO
======

The Maple features 38 ready-to-use general purpose input/output (GPIO)
pins for digital input/output, numbered D0 through D37.  These numbers
correspond to the numeric values next to each header on the Maple
silkscreen.

Many of these pins may additionally be used for special features or
peripheral functions.  This page documents those capabilities, by pin.

The current and voltage limitations have not been copied over from the
STM32 datasheet (see the :ref:`Recommended Reading
<gpio-recommended-reading>` for a link).  In particular, a number of
GPIO pins are 5v tolerant (which means that applying 5v to a pin and
reading it as input or allowing it to drain to ground will not damage
that pin), while some are not.

.. contents:: Contents
   :local:

Pin Mapping Mega Table
----------------------

This huge reference table shows the available functionality on every
GPIO pin, by peripheral type. The "STM32" column refers to the port
and number that the header is connected to on the microcontroller.
The "5v?" column documents whether or not the pin is 5v tolerant (see
above).

.. csv-table::
   :header: "Pin", "STM32", ":ref:`ADC <adc>`", ":ref:`Timer <timers>`", ":ref:`I2C <i2c>`", ":ref:`UART <usart>`", ":ref:`SPI <spi>`", "5v?"

   "D0",  "PA3",  "ADC3", "TIM2_CH4",     "-",         "USART2_RX",  "-",         "No"
   "D1",  "PA2",  "ADC2", "TIM2_CH3",     "-",         "USART2_TX",  "-",         "No"
   "D2",  "PA0",  "ADC0", "TIM2_CH1_ETR", "-",         "USART2_CTS", "-",         "No"
   "D3",  "PA1",  "ADC1", "TIM2_CH2",     "-",         "USART2_RTS", "-",         "No"
   "D4",  "PB5",  "-",    "-",            "ISC1_SMBA", "-",          "-",         "No"
   "D5",  "PB6",  "-",    "TIM4_CH1",     "I2C1_SCL",  "-",          "-",         "Yes"
   "D6",  "PA8",  "-",    "TIM1_CH1",     "-",         "USART1_CK",  "-",         "Yes"
   "D7",  "PA9",  "-",    "TIM1_CH2",     "-",         "USART1_TX",  "-",         "Yes"
   "D8",  "PA10", "-",    "TIM1_CH3",     "-",         "USART1_RX",  "-",         "Yes"
   "D9",  "PB7",  "-",    "TIM4_CH2",     "I2C1_SDA",  "-",          "-",         "Yes"
   "D10", "PA4",  "ADC4", "-",            "-",         "USART2_CK",  "SPI1_NSS",  "No"
   "D11", "PA7",  "ADC7", "TIM3_CH2",     "-",         "-",          "SPI1_MOSI", "No"
   "D12", "PA6",  "ADC6", "TIM3_CH1",        -       -       SPI1_MISO       No
   D13  PA5     ADC5    -       -       -       SPI1_SCK        No
   D14  PB8     -       TIM4_CH3        -       -       -       Yes

   Analog header

   D15  PC0     ADC10   -       -       -       -       No
   D16  PC1     ADC11   -       -       -       -       No
   D17  PC2     ADC12   -       -       -       -       No
   D18  PC3     ADC13   -       -       -       -       No
   D19  PC4     ADC14   -       -       -       -       No
   D20  PC5     ADC15   -       -       -       -       No

   External header

   D21  PC13    -       -       -       -       -       No
   D22  PC14    -       -       -       -       -       No
   D23  PC15    -       -       -       -       -       No
   D24  PB9     -       TIM4_CH4        -       -       -       Yes
   D25  PD2     -       TIM3_ETR        -       -       -       Yes
   D26  PC10    -       -       -       -       -       Yes
   D27  PB0     ADC8    TIM3_CH3        -       -       -       No
   D28  PB1     ADC9    TIM3_CH4        -       -       -       No
   D29  PB10    -       -       I2C2_SCL        USART3_TX       -       Yes
   D30  PB11    -       -       I2C2_SDA        USART3_RX       -       Yes
   D31  PB12    -       TIM1_BKIN       I2C2_SMBAL      USART3_CK       SPI2_NSS        Yes
   D32  PB13    -       TIM1_CH1N       -       USART3_CTS      SPI2_SCK        Yes
   D33  PB14    -       TIM1_CH2N       -       USART3_RTS      SPI2_MISO       Yes
   D34  PB15    -       TIM1_CH3N       -       -       SPI2_MOSI       Yes
   D35  PC6     -       -       -       -       -       Yes
   D36  PC7     -       -       -       -       -       Yes
   D37  PC8     -       -       -       -       -       


Stub (unfinished).

.. _gpio-recommended-reading:

Recommended Reading
-------------------

STMicro documentation for STM32F103RB microcontroller:

  * `All <http://www.st.com/mcu/devicedocs-STM32F103RB-110.html>`_
  * `Datasheet (pdf) <http://www.st.com/stonline/products/literature/ds/13587.pdf>`_
  * `Reference Manual (pdf) <http://www.st.com/stonline/products/literature/rm/13902.pdf>`_