beaglebone_black_学习笔记——(8)GPIO输入之KEY
今天笔者在LED灯的基础上写了一个GPIO作为输入端口的例子。实验中笔者采用一个按键作为IO输入设备,然后用bb_black去采集当前的信息。
第一步:硬件介绍
1、按键介绍
轻触按键的结构如下图所示,按键的1,2脚,3,4脚是分别连在一起的,当按下按键是也就是将1,3(或者2,4)引脚短接,松开时两脚间开路。
2、硬件原理
注:
(1)为了防止误操作时,3.3V将IO口烧掉笔者在按键与3.3V之间连接了一个限流电阻(10k);
(2)本实验笔者使用了P8排座的14引脚,也就是GPIO_26引脚。
3、硬件连接
笔者使用的按键是从废旧的板子上拆下来的,焊接了两根线,两根线的另一头直接焊接了插针,焊接部位用热缩管抱住,在做各种开发的时候使用起来非常的简单实用。
第二步:软件代码
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\n",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、实验结果: