一:实验现象
程序实现在树莓派上通过中断的方式检测按键是否按下,如果按键按下的话,会打印出按键按下的提示信息
二:操作步骤
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;
}
博文索引 持续更新中。。。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。