分享

树莓派的按键中断

 ylsnData 2017-12-28

一:实验现象

程序实现在树莓派上通过中断的方式检测按键是否按下,如果按键按下的话,会打印出按键按下的提示信息

二:操作步骤

1,初始化wiringPi库;

2,设置按键引脚为输入模式;

3,设置引脚为上拉模式(即:当按键没有被按下时,该输入脚为高电平;

4,注册中断程序,并且设置中断的触发方式;

5,判断中断标志位,检测按键是否按下,清空标志位,方便下次检测。

#include <wiringPi.h>

#include <stdio.h>
#include <stdlib.h>

int flag=0;

//按键服务函数

void myInterruptService()
{
   flag=1;
}
int main()
{
 if(wiringPiSetup()<0)  //初始化wiringPi库
 {
 printf("can't init wiringPi\n");  //初始化失败时,打印出提示信息,并且推出
   return -1;
  }
  printf("test interrput\n");  //打印提示信息
  pinMode(0,INPUT); //引脚0为输入模式
  pullUpDnControl(0,PUD_UP);  //设置0号引脚上拉
  
  //注册中断程序
  if(wiringPiISR(0,INT_EDGE_FALLING,&myInterruptService)<0)  //设置引脚下降沿触发
  {
     printf("unable ISR\n");
  }
  //
  while(1)
  {
     if(flag)
{
while(digitalRead(0)==LOW);  //检测按键是否松开,没有松开的话,一直等待
printf("key Press\n");  //打印提示信息
flag=0;  //清空标志位
}
  }
 return 0;

}

博文索引  持续更新中。。。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多