图片:OK3568-C开发板(基于国产瑞芯微RK3568处理器)
本文主要讲解RK3568 开发板C 语言sysfs 控制GPIO引脚以及通过命令行控制GPIO引脚,希望可以协助用户加速产品的研发进度,仅供参考使用,本文主要适用于瑞芯微RK3568平台,Linux4.19.206 操作系统,其他平台也可以参考,但是不同平台之间会存在差异,需客户自行修改以适应自己的使用。 更多ARM开发板相关资讯,关注飞凌嵌入式。
一、C 语言Sysfs 控制GPIO引脚
1、编写GPIO 控制程序,参考文件见文件夹:
gpiotest-read(gpio3_a5)
gpiotest-write(gpio3_b0)
参考文件 点击下载
2、导入环境变量(客户依据具体路径设置红色字体部分):
export
PATH=$PATH:/home/forlinx/ubuntu-/OK3568-linux-source/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin
3、编译gpiotest-write.c 文件:
aarch64-linux-gnu-gcc -o gpiotest gpiotest-write.c
4、将gpiotest 可执行文件拷贝到开发板运行。
5、即可看到绿色LED 灯间隔1 秒亮灭闪烁。
二、命令行控制GPIO 引脚
1、通过sysfs 控制gpio 引脚/sys/class/gpio。
A-D 对应1-4:A-1,B-2,C-3,D-4。
GPIOn_xy =n*32+(x-1)*8+y
GPIO4_C6=4*32+(3-1)*8+6=150
2、配置gpio 为输入读取状态。
[root@rk3568:/]# echo 150 > /sys/class/gpio/export //导出GPIO4_C6 引脚
[root@rk3568:/]# echo in > /sys/class/gpio/gpio150/direction //设置IO 输入方向
[root@rk3568:/]# cat > /sys/class/gpio/gpio150/value //查看IO 值
[root@rk3568:/]# echo 150 > /sys/class/gpio/unexport //取消导出引脚
3、配置gpio 为输出设置状态。
[root@rk3568:/]# echo 150 > /sys/class/gpio/export //导出GPIO4_C6 引脚
[root@rk3568:/]# echo out > /sys/class/gpio/gpio150/direction //设置IO 输出方向
[root@rk3568:/]# echo 0 > /sys/class/gpio/gpio150/value //设置IO 输出为低电平
[root@rk3568:/]# echo 1 > /sys/class/gpio/gpio150/value //设置IO 输出为高电平
[root@rk3568:/]# echo 150 > /sys/class/gpio/unexport //取消导出引脚
|