Banana Pi M2U GPIO定义与使用

这几天很多小伙伴问香蕉派M2U的GPIO怎么使用,我按照平时的套路回复了IO定义图(下图),结果许多小伙伴说没法正常使用,不是无法点亮小灯就是出现"unknown error 517"的问题


经过一番谷歌,发现一位名字叫"tkaiser"的回帖:
似乎是图中的GPIO编号计算有问题,随即请教Mikey大神,根据Mikey大神的指点,结合M2U原理图和M2U BSP中的配置文件,找到了引脚对应的GPIO编号,为了方便我做了一张表格
其中,"代码定义"为在使用中调用的GPIO编号

[table=98%]
[tr][td=8,1,752]
BananaPi M2U GPIO定义图
[/td][/tr]
[tr][td]
代码定义
[/td][td]
[/td][td]
默认功能
[/td][td]
[/td][td][/td][td]
默认功能
[/td][td]
[/td][td]
代码定义
[/td][/tr]
[tr][td]
Export GPIO
[/td][td]
IO
[/td][td]
Default Function
[/td][td]
PIN
[/td][td]
PIN
[/td][td]
Default Function
[/td][td]
IO
[/td][td]
Export GPIO
[/td][/tr]
[tr][td][/td][td][/td][td]VCC-3V3[/td][td]
1
[/td][td]
2
[/td][td]DCIN[/td][td][/td][td][/td][/tr]
[tr][td]
53
[/td][td]PB21[/td][td]TWI2-SDA[/td][td]
3
[/td][td]
4
[/td][td]DCIN[/td][td][/td][td][/td][/tr]
[tr][td]
52
[/td][td]PB20[/td][td]TWI2-SCK[/td][td]
5
[/td][td]
6
[/td][td]GND[/td][td][/td][td][/td][/tr]
[tr][td]
35
[/td][td]PB3[/td][td]PB3[/td][td]
7
[/td][td]
8
[/td][td]UART2-TX[/td][td]PI18[/td][td]274[/td][/tr]
[tr][td][/td][td][/td][td]GND[/td][td]
9
[/td][td]
10
[/td][td]UART2-RX[/td][td]PI19[/td][td]275[/td][/tr]
[tr][td]
276
[/td][td]PI20[/td][td]UART7-TX[/td][td]
11
[/td][td]
12
[/td][td]UART2-CTS[/td][td]PI17[/td][td]274[/td][/tr]
[tr][td]
277
[/td][td]PI21[/td][td]UART7-RX[/td][td]
13
[/td][td]
14
[/td][td]GND[/td][td][/td][td][/td][/tr]
[tr][td]
249
[/td][td]PH25[/td][td]PH25[/td][td]
15
[/td][td]
16
[/td][td]UART2-RTS[/td][td]PI16[/td][td]272[/td][/tr]
[tr][td][/td][td][/td][td]VCC-3V3[/td][td]
17
[/td][td]
18
[/td][td]PH26[/td][td]PH26[/td][td]250[/td][/tr]
[tr][td]
64
[/td][td]PC0 [/td][td]SPI0_MOSI[/td][td]
19
[/td][td]
20
[/td][td]GND[/td][td][/td][td][/td][/tr]
[tr][td]
65
[/td][td]PC1 [/td][td]SPI0_MISO[/td][td]
21
[/td][td]
22
[/td][td]PH27[/td][td]PH27[/td][td]251[/td][/tr]
[tr][td]
66
[/td][td]PC2[/td][td]SPI0_CLK[/td][td]
23
[/td][td]
24
[/td][td]SPI0_CS[/td][td]PC23[/td][td]87[/td][/tr]
[tr][td][/td][td][/td][td]GND[/td][td]
25
[/td][td]
26
[/td][td]PH24[/td][td]PH24[/td][td]248[/td][/tr]
[tr][td]
257
[/td][td]PI1[/td][td]TWI3-SDA[/td][td]
27
[/td][td]
28
[/td][td]TWI3-SCK[/td][td]PI0[/td][td]256[/td][/tr]
[tr][td]
224
[/td][td]PH0[/td][td]PH0[/td][td]
29
[/td][td]
30
[/td][td]GND[/td][td][/td][td][/td][/tr]
[tr][td]
225
[/td][td]PH1[/td][td]PH1[/td][td]
31
[/td][td]
32
[/td][td]PD20[/td][td]PD20[/td][td]116[/td][/tr]
[tr][td]
226
[/td][td]PH2[/td][td]PH2[/td][td]
33
[/td][td]
34
[/td][td]GND[/td][td][/td][td][/td][/tr]
[tr][td]
227
[/td][td]PH3[/td][td]PH3[/td][td]
35
[/td][td]
36
[/td][td]UART5-RX[/td][td]PH7[/td][td]231[/td][/tr]
[tr][td]
228
[/td][td]PH4[/td][td]UART4-TX[/td][td]
37
[/td][td]
38
[/td][td=138]UART5-TX[/td][td]PH6[/td][td]230[/td][/tr]
[tr][td][/td][td][/td][td]GND[/td][td]
39
[/td][td]
40
[/td][td=138]UART4-RX[/td][td=50]PH5[/td][td]229[/td][/tr]
[tr][td][/td][td][/td][td][/td][td][/td][td][/td][td=2,1,188]By:XiaoLu[/td][td]Ver 1.0[/td][/tr]
[/table]
Banana Pi M2U GPIO定义.zip (8.64 KB)
How To Use
这里是使用shell来控制GPIO的简单命令
首先,需要在系统中声明(export)要使用引脚的GPIO编号

#声明(export) GPIO 229
echo 229 > /sys/class/gpio/export

然后设定这个引脚方向为:OUT 也就是输出

#设置 /sys/class/gpio/gpio*/direction 方向为out
echo out > /sys/class/gpio/gpio229/direction

接下来就可以控制这个引脚上面的小灯亮灭了
1为拉高电平 也就是让小灯连起来
0为拉低电平 小灯就会灭掉

#设置 GPIO 的值为1
 echo 1 > /sys/class/gpio/gpio229/value
#设置 GPIO 的值为0
 echo 0 > /sys/class/gpio/gpio229/value

联动贴:初学Shell 简单控制GPIO的小脚本

关于Python调用,我猜测"RPi.GPIO"可以进行简单调用,因为我这里没有M2U,所以大家只能亲自试一下了 https://pypi.python.org/pypi/RPi.GPIO

我这边也发现WiringBP library官方的git上面还没发布可用的版本(m2u),请站上的多帮忙整理出可用的版本。

官方没给m2u可用的Wiring包,也就是RPi.GPIO用不了啊,希望官方早点能给出除了使用shell以外调用gpio口的方法。

楼主就是官方啦

目前好像只能通过shell来调用gpio口呀

可怜,可以也试一下MikuDuino,https://help.mikuduino.com/