一般GPIO初始化是执行
GPIO.setmode(mode) #来进行引脚定义初始化
GPIO.BOARD = 10
GPIO.BCM = 11
GPIO.SUNXI = 12
GPIO.CUSTOM = 13
其实只是一你骄傲的映射关系 没有真正执行任何代码
但是OPI.GPIO 对不同的香橙派版本 引脚定义不充分
CM4为例子
GPIO.setmode(GPIO.BOARD) #会少了很多引脚的映射
C:\Users\15699\AppData\Local\Programs\Python\Python312\Lib\site-packages\OPi\pin_mappings.py
BOARD: {
3: 12,
5: 11,
7: 6,
8: 198,
10: 199,
11: 1,
12: 7,
13: 0,
15: 3,
16: 19,
18: 18,
19: 15,
21: 16,
22: 2,
23: 14,
24: 13,
26: 10
},
这时候要不更改这个库文件 按照GPIO.readall 补充所有引脚映射
要不执行 自定义引脚映射初始化
GPIO.setmode({
3: 140,
5: 141,
7: 147,
8: 25,
10: 24,
11: 118,
12: 119,
13: 128,
15: 130,
16: 131,
18: 129,
19: 138,
21: 136,
22: 132,
23: 139,
24: 134,
26: 135,
27: 32,
28: 33,
29: 133,
31: 124,
32: 144,
33: 127,
35: 120,
36: 125,
37: 123,
38: 122,
40: 121
})
GPIO.getmode
# 返回CUSTOM 自定义引脚映射