GPIO for NanoPi
Revision as of 09:43, 20 August 2022 by 62.173.173.193 (talk)
GPIO (in/out) for NanoPi
Note: the test environment is a NanoPi K1 Plus with FriendlyCore installed in eMMC, kernel 4.14.x .
To enable a pin, execute:
echo X > /sys/class/gpio/export
where X is the number of the linux gpio corresponding to the pin you want to enable.
For example, if we want to enable pin N. 37, according to the table in http://wiki.friendlyarm.com/wiki/index.php/NanoPi_K1_Plus#Diagram.2C_Layout_and_Dimension , we need to execute:
echo 9 > /sys/class/gpio/export
A new /sys/class/gpio/gpio9 directory will appear.
In the same way, to disable the pin we need to execute:
echo 9 > /sys/class/gpio/unexport
and the directory/symbolic link gpio9 will disappear.
To set the direction (input or output pin), we need to execute:
echo out > /sys/class/gpio/gpio9/direction
or
echo in > /sys/class/gpio/gpio9/direction
To set the value:
echo 0 > /sys/class/gpio/gpio9/value echo 1 > /sys/class/gpio/gpio9/value
To read the value
cat /sys/class/gpio/gpio9/value
How to calculate linux gpio numbers
A0 = gpio0 A1 = gpio1 A2 = gpio2 .... B0 = gpio32 B1 = gpio33 ... C0 = gpio64 ...