123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- .TH GPIO 3
- .SH NAME
- gpio \- access to Raspberry Pi GPIO pins
- .SH SYNOPSIS
- .B bind -a #G /dev
- .PP
- .B /dev/gpio
- .fi
- .SH DESCRIPTION
- .I Gpio
- serves a single file that provides access to the GPIO pins on the
- Raspberry Pi.
- Reads from the file receive a 16-character hexadecimal string
- representing a
- .B vlong
- giving the values of up to 64 GPIO lines.
- (The processor on both the first and second generation Pis provides
- 54 actual GPIO lines.)
- The proper method for sampling GPIO 27 is as follows:
- .IP
- .B read(gfd, buf, 16);
- .br
- .B buf[16] = 0;
- .br
- .B gvals = strtoull(buf, nil, 16);
- .br
- .B "pin27 = gvals & (1 << 27);"
- .PP
- Writes to
- .B gpio
- control the characteristics and output values of GPIO lines.
- The exact operation is specified by one of the following commands:
- .TP
- .BI function " pin f"
- Set the function of GPIO
- .I pin
- to
- .I f.
- The valid values for
- .I f
- are:
- .BR in ,
- .BR out ,
- .BR alt0 ,
- .BR alt1 ,
- .BR alt2 ,
- .BR alt3 ,
- .BR alt4 ,
- .BR atl5 ,
- and
- .BR pulse .
- The functions
- .B in
- and
- .B out
- set the specified GPIO line to be a general purpose input
- and output, respectively.
- The various
- .BI alt n
- functions are as specified in the Broadcom documentation and
- differ on a per-pin basis.
- The
- .B pulse
- function is somewhat specialized.
- It causes the pin to be set to an output for
- 2μS and then to be set to a input.
- With the value of the line set to 0 and a pullup resistor on the
- line, this operation provides a short low pulse suitable for bit-banging
- a 1-wire interface.
- .TP
- .BI pullup " pin"
- Enables the internal pullup resistor for the specified GPIO pin.
- .TP
- .BI pulldown " pin"
- Enables the internal pulldown resistor for the specified GPIO pin.
- .TP
- .BI float " pin"
- Disables both internal pullup and pulldown resistors for the specified
- GPIO pin.
- .TP
- .BI set " pin value"
- For GPIO pins set to the output function, this command sets the output
- value for the pin.
- The
- .I value
- should be either 0 or 1.
- .SH NOTES
- All pin number references are according to the SoC documentation.
- These GPIO signal numbers do
- .I not
- match the pin numbers on the header on the Pi board.
- Reads sample the external signal values.
- As a result, the values read for output pins might not match
- the value written to them if externally they are driven harder
- than the SoC drives them.
- .SH SOURCE
- .B /sys/src/9/bcm/devgpio.c
- .br
- .B /sys/src/9/bcm/gpio.c
|