Documentation ¶
Overview ¶
Package rpi contains Raspberry Pi hardware logic. It is intrinsically related to package bcm283x.
Assumes Raspbian but does not directly depend on the distro being Raspbian. 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.