要驱动电机,除了pwm之外,还需要2个GPIO端口来控制EN与DIR。下面进行GPIO的配置工具。
RK3568 有 5 组 GPIO bank:GPIO0~~~GPIO4,每组又以 A0~A7, B0~B7, C0~~~C7, D0~D7 作为编号区分,常用以下公式计算引脚:
GPIO pin脚计算公式:pin = bank * 32 + number
GPIO 小组编号计算公式:number = group * 8 + X
我在P7端口上找到一个G3B6的引脚来计算:
G3 即 332
B6 18+6
G3B6的编号为110。下面验证:
[root@ok3568:/]# echo 110 > /sys/class/gpio/export
#下面是查看是否成功
[root@ok3568:/]# ls /sys/class/gpio/
export gpiochip0 gpiochip32 gpiochip64 unexport
gpio110 gpiochip128 gpiochip511 gpiochip96
#看到有gpio110,说明启用G3B6成功
#查看端口输入输出
[root@ok3568:/]# cat /sys/class/gpio/gpio110/direction
in
#发现端口为in,即输入
#更改端口的方向为输出:
[root@ok3568:/]# echo 'out' > /sys/class/gpio/gpio110/direction
[root@ok3568:/]# cat /sys/class/gpio/gpio110/direction
out
#现在端口的方向为out,可以做为输出IO用了。
#给端口写1,看看电平情况
[root@ok3568:/]# echo 1 > /sys/class/gpio/gpio110/value
[root@ok3568:/]# cat /sys/class/gpio/gpio110/value
1
看到电平状态为,用万用表测了一下,确实有3.3v的电平。
到此GPIO的调试成功。下一步写个IO点灯。再整合成电机开关。
更多回帖