Documentation ¶
Overview ¶
Package rpi contains Raspberry Pi hardware logic. It is intrinsically related to package bcm283x.
Assumes Raspbian Jessie. Windows IoT is currently not supported.
Physical ¶
The physical pin out is based on http://www.raspberrypi.org information but http://pinout.xyz/ has a nice interactive web page.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // Raspberry Pi A and B, 26 pin header: P1_1 pin.Pin = pin.V3_3 // max 30mA P1_2 pin.Pin = pin.V5 // (filtered) P1_3 gpio.PinIO = bcm283x.GPIO2 // High, I2C1_SDA P1_4 pin.Pin = pin.V5 // P1_5 gpio.PinIO = bcm283x.GPIO3 // High, I2C1_SCL P1_6 pin.Pin = pin.GROUND // P1_7 gpio.PinIO = bcm283x.GPIO4 // High, GPCLK0 P1_8 gpio.PinIO = bcm283x.GPIO14 // Low, UART0_TXD, UART1_TXD P1_9 pin.Pin = pin.GROUND // P1_10 gpio.PinIO = bcm283x.GPIO15 // Low, UART0_RXD, UART1_RXD P1_11 gpio.PinIO = bcm283x.GPIO17 // Low, UART0_RTS, SPI1_CE1, UART1_RTS P1_12 gpio.PinIO = bcm283x.GPIO18 // Low, PCM_CLK, SPI1_CE0, PWM0_OUT P1_13 gpio.PinIO = bcm283x.GPIO27 // Low, P1_14 pin.Pin = pin.GROUND // P1_15 gpio.PinIO = bcm283x.GPIO22 // Low, P1_16 gpio.PinIO = bcm283x.GPIO23 // Low, P1_17 pin.Pin = pin.V3_3 // P1_18 gpio.PinIO = bcm283x.GPIO24 // Low, P1_19 gpio.PinIO = bcm283x.GPIO10 // Low, SPI0_MOSI P1_20 pin.Pin = pin.GROUND // P1_21 gpio.PinIO = bcm283x.GPIO9 // Low, SPI0_MISO P1_22 gpio.PinIO = bcm283x.GPIO25 // Low, P1_23 gpio.PinIO = bcm283x.GPIO11 // Low, SPI0_CLK P1_24 gpio.PinIO = bcm283x.GPIO8 // High, SPI0_CE0 P1_25 pin.Pin = pin.GROUND // P1_26 gpio.PinIO = bcm283x.GPIO7 // High, SPI0_CE1 // Raspberry Pi A+, B+, 2 and later, 40 pin header (also named J8): P1_27 gpio.PinIO = bcm283x.GPIO0 // High, I2C0_SDA used to probe for HAT EEPROM, see https://github.com/raspberrypi/hats P1_28 gpio.PinIO = bcm283x.GPIO1 // High, I2C0_SCL P1_29 gpio.PinIO = bcm283x.GPIO5 // High, GPCLK1 P1_30 pin.Pin = pin.GROUND // P1_31 gpio.PinIO = bcm283x.GPIO6 // High, GPCLK2 P1_32 gpio.PinIO = bcm283x.GPIO12 // Low, PWM0_OUT P1_33 gpio.PinIO = bcm283x.GPIO13 // Low, PWM1_OUT P1_34 pin.Pin = pin.GROUND // P1_35 gpio.PinIO = bcm283x.GPIO19 // Low, PCM_FS, SPI1_MISO, PWM1_OUT P1_36 gpio.PinIO = bcm283x.GPIO16 // Low, UART0_CTS, SPI1_CE2, UART1_CTS P1_37 gpio.PinIO = bcm283x.GPIO26 // P1_38 gpio.PinIO = bcm283x.GPIO20 // Low, PCM_DIN, SPI1_MOSI, GPCLK0 P1_39 pin.Pin = pin.GROUND // P1_40 gpio.PinIO = bcm283x.GPIO21 // Low, PCM_DOUT, SPI1_CLK, GPCLK1 // P5 header on Raspberry Pi A and B, PCB v2: P5_1 pin.Pin = pin.V5 P5_2 pin.Pin = pin.V3_3 P5_3 gpio.PinIO = bcm283x.GPIO28 // Float, I2C0_SDA, PCM_CLK P5_4 gpio.PinIO = bcm283x.GPIO29 // Float, I2C0_SCL, PCM_FS P5_5 gpio.PinIO = bcm283x.GPIO30 // Low, PCM_DIN, UART0_CTS, UART1_CTS P5_6 gpio.PinIO = bcm283x.GPIO31 // Low, PCM_DOUT, UART0_RTS, UART1_RTS P5_7 pin.Pin = pin.GROUND P5_8 pin.Pin = pin.GROUND AUDIO_RIGHT = bcm283x.GPIO40 // Low, PWM0_OUT, SPI2_MISO, UART1_TXD AUDIO_LEFT = bcm283x.GPIO41 // Low, PWM1_OUT, SPI2_MOSI, UART1_RXD HDMI_HOTPLUG_DETECT = bcm283x.GPIO46 // High, )
Pin as connect on the 40 pins extension header.
Schematics are useful to know what is connected to what: https://www.raspberrypi.org/documentation/hardware/raspberrypi/schematics/README.md
The actual pin mapping depends on the board revision! The default values are set as the 40 pins header on Raspberry Pi 2 and Raspberry Pi 3.
Some header info here: http://elinux.org/RPi_Low-level_peripherals
P1 is also known as J8 on A+, B+, 2 and later.
Functions ¶
Types ¶
This section is empty.