基于Linux系统实现DragonBoard 410c GPIO的控制.doc
《基于Linux系统实现DragonBoard 410c GPIO的控制.doc》由会员分享,可在线阅读,更多相关《基于Linux系统实现DragonBoard 410c GPIO的控制.doc(7页珍藏版)》请在三一文库上搜索。
1、基于Linux系统实现DragonBoard 410c GPIO的控制通过芯片的GPIO口输出电平去控制外部设备,如继电器、LED或者触发某些模块进行工作是嵌入式控制系统常用的功能,也是实现许多复杂控制系统的基础,本文将教大家基于DragonBoard 410c GPIO开发板在linux的环境下完成对DragonBoard 410c GPIO的控制,并且通过控制按键和点亮LED等进行实例测试以熟悉整个GPIO操作过程。一、 DragonBoard 410c GPIO口分布情况及测试硬件连线如图1所示,在 DragonBoard 410c 开发板上,其GPIO口通过接口进行了预留,用户在开发测
2、试过程中可以方便的通过排针或者排线接入到 DragonBoard 410c 的GPIO口,实现与外设的连接,对外设进行控制,同时也可以通过下载 DragonBoard 410c GPIO PDF和使用说明文档查看其GPIO详细信息,在410c资料包中的SchemaTIcas_DragonBoard.pdf文件中对410c板子的GPIO口设计有详细的说明,如下图1给出了开发板的GPIO硬件接口J8的详细设计,通过该图可以知道整个410c开发板的GPIO外部接口连接情况。图1 DragonBoard 410c外部GPIO口引出接口J8的连接原理图根据上述原理图,可以在板子上用杜邦线连接,本文在测试
3、过程中选取的是GPIO_36和GPIO_12两个GPIO口作为控制,其中GPIO12控制LED灯,GPIO_36用于接收按键信号,检测开关是否被按下,开关每次按下LED灯状态改变一次,整个控制电路硬件连接如图2所示。图2 DragonBoard 410c按键控制LED灯硬件连接示意图二、程序设计1)在linux环境下用vim编辑器建立工程程序文件key_led_test.c,该文件是测试工程的主文件,起命令如下:mkdir key_led_testvim key_led_test.c通过GPIO口控制LED和检测按键信号的基本原理如下:首先需要对使用的GPIO口进行导入,完成导入后的GPIO口
4、才可以进读写,起导入GPIO口的函数机代码如下:int Export_GPIO(int gpio) int fd;char bufMAX_BUF;sprintf(buf, %d, gpio);fd = open(/sys/class/gpio/export, O_WRONLY);if(fd 0)return -1;write(fd, buf, strlen(buf);close(fd); return 0; 然后对GPIO口进行读写数据,其中读写的实现函数及代码如下:int Write_GPIO(int gpio, int value) int fd; char bufMAX_BUF; /Se
5、t the direcTIon of the GPIO to outputsprintf(buf, /sys/class/gpio/gpio%d/direcTIon, gpio);fd = open(buf, O_WRONLY); if(fd0)return -1;write(fd, out, 3);/ Set out direcTIonclose(fd);sprintf(buf, /sys/class/gpio/gpio%d/value, gpio);fd = open(buf, O_WRONLY);if(fd0)return -1; / Write the GPIO valuesprint
6、f(buf, %d, value);write(fd, buf, strlen(buf);close(fd); return 0;int Read_GPIO(int gpio, int *value) int fd; char val;char bufMAX_BUF;sprintf(buf, /sys/class/gpio/gpio%d/value, gpio);fd = open(buf, O_RDONLY);if(fd0)return -1;/ Read the GPIO valueread(fd, val, 1);*value = atoi(val);close(fd); return
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于Linux系统实现DragonBoard 410c GPIO的控制 基于 Linux 系统 实现 DragonBoard 410 GPIO 控制
链接地址:https://www.31doc.com/p-3410972.html