GPIO0_A0 ~ A7
GPIO0_B0 ~ B7
GPIO0_C0 ~ C7
GPIO0_D0 ~ D7
GPIO1_A0 ~ A7 ....
GPIO1_D0 ~ D7....
GPIO4_D0 ~ D7
GPIO 数量可以计算如下,以 GPIO1_C7_d为例:
GPIO1_C7_d = 1*32 + 2*8 + 7 = 55
(A=0, B=1, C=2, D=3)
2] 使用 GPIO sysfs 接口控制 I/O:
echo 55 > /sys/class/gpio/export
cd /sys/class/gpio/gpio55
echo out > direction
echo 1 > value # 输出高
echo 0 > value # 输出低
设置 GPIO4_C6输出:
3] 测试官方SDK提供的GPIO例程:
3-1] 例程传输到Pico开发板
3-2] 运行该程序之前要先确保赋予可执行权限:chmod 777 ./luckfox_gpio_test
3-3] 运行luckluckfox_gpio_test:
4] 验证luckfox_gpio_test例程:
4-1] 使用插件LED接入下述几个引脚
4-2] 实验现象是LED依次点亮和熄灭
】FAQ:
GPIO 数量可以计算如下,以 GPIO1_C7_d为例:
GPIO1_C7_d = 1*32 + 2*8 + 7 = 55
(A=0, B=1, C=2, D=3)
解释一下这个计算过程。
在某些单片机或芯片中,引脚(PIN)或IO口(I/O Port)通常采用编号系统来进行标识和访问。
这个编号系统通常由多个部分组成,如GPIO组、GPIO组内字母、数字等。
在该例子中,GPIO1_C7_d是一个引脚的标识,逐个解析GPIO1_C7_d的含义:
解释计算过程:
计算式 “1 * 32 + 2 * 8 + 7 = 55” 的目的是将 GPIO1_C7_d 转换为一个数字标识,其中:
“1 * 32” 表示 GPIO组的编号(Group)乘以每个GPIO组内包含的引脚数量。这里的 GPIO1 组每组有32个引脚。
“2 * 8” 表示 GPIO组内字母的索引(Group Letter)乘以每个字母标识的引脚数量。
在该设备中,该字母代表 C,表示其在组内的第三个字母,每个字母有8个引脚。
“7” 表示第7个引脚的编号(Digit)。
通过将这些部分相乘并相加,得到的结果是引脚 GPIO1_C7_d 的数字标识为55。
这种数字标识的计算方式有助于唯一标识和访问每个引脚,方便在编程中进行引脚的配置和控制。
GPIO组(Group): 这里是GPIO1。
GPIO组用于区分不同的引脚组,一个芯片上可能有多个GPIO组。
GPIO组内字母(Group Letter): 这里是C。
GPIO组内字母用于细分每个GPIO组中的引脚,通常从A开始递增。(A=0, B=1, C=2, D=3)
数字(Digit): 这里是7,表示GPIO组内C字母下的第7个引脚。
后缀(Suffix): 这里是字母d。
后缀通常用于区分不同的功能或属性,例如输入(input)或输出(output)。