beaglebone_black_学习笔记——(8)GPIO输入之KEY

  今天笔者在LED灯的基础上写了一个GPIO作为输入端口的例子。实验中笔者采用一个按键作为IO输入设备,然后用bb_black去采集当前的信息。

第一步:硬件介绍

  1、按键介绍

  轻触按键的结构如下图所示,按键的1,2脚,3,4脚是分别连在一起的,当按下按键是也就是将1,3(或者2,4)引脚短接,松开时两脚间开路。

image

  2、硬件原理

image

  注:

  (1)为了防止误操作时,3.3V将IO口烧掉笔者在按键与3.3V之间连接了一个限流电阻(10k);

  (2)本实验笔者使用了P8排座的14引脚,也就是GPIO_26引脚。

  3、硬件连接

  笔者使用的按键是从废旧的板子上拆下来的,焊接了两根线,两根线的另一头直接焊接了插针,焊接部位用热缩管抱住,在做各种开发的时候使用起来非常的简单实用。

IMG_20150308_151541_1425798972113

第二步:软件代码

  1、先看看第一部分的代码

 1 #include <stdio.h> 
 2 #define GPIO_DIR "/sys/class/gpio/"
 3 
 4 int main() 
 5 { 
 6     FILE *stream=NULL; 
 7     char a[10]; 
 8     stream=fopen(GPIO_DIR"export","w");
 9 
10     fwrite("26",sizeof(int),2,stream); 
11     fclose(stream);
12 
13 
14     stream=fopen(GPIO_DIR"gpio26/direction","r+"); 
15     fwrite("in",sizeof(char),2,stream); 
16     fclose(stream); 
17     while(1) 
18     { 
19         stream=fopen(GPIO_DIR"gpio26/value","r+"); 
20         fscanf(stream,"%s",a); 
21         printf("%s
",a); 
22         fclose(stream); 
23         sleep(1); 
24     }
25 
26     return 0; 
27 } 

 注:

(1)关于fopen,fwrite,fread,fclose的用法参照笔者的另外一篇笔记http://www.cnblogs.com/zhezhe1988/p/4264482.html;

  2、实验结果:

image

原文地址:https://www.cnblogs.com/zhezhe1988/p/4338417.html