代码拉取完成,页面将自动刷新
#include <wiringPi.h>
#include <stdio.h>
#define LED_B 0 // 蓝色LED
#define LED_G 2 // 绿色LED
#define LED_R 3 // 红色LED
// 中断引脚
#define btn_mid_pin 21
#define btn_left_pin 22
#define btn_right_pin 23
#define btn_up_pin 24
#define btn_down_pin 25
#define btn_set_pin 26
#define btn_rst_pin 27
// 中断标志位 发生中断就置1
int pause = 0;
// 中断发生就会执行这个函数
void play(void){
if(pause == 1) {
pause = 0;
printf("play......");
} else {
printf("pause......");
pause = 1;
}
}
void next(void){
printf("next......")
}
void prev(void){
printf("prev......")
}
void vol_up(void){
printf("vol_up......")
}
void vol_down(void){
printf("vol_down......")
}
void set_event(void){
printf("set_event......")
}
void rst_event(void){
printf("rst_event......")
}
int main (void)
{
wiringPiSetup();
pinMode(LED_R, OUTPUT);
pinMode(btn_mid_pin, INPUT);
pinMode(btn_left_pin, INPUT);
pinMode(btn_right_pin, INPUT);
pinMode(btn_up_pin, INPUT);
pinMode(btn_down_pin, INPUT);
pinMode(btn_set_pin, INPUT);
pinMode(btn_rst_pin, INPUT);
// 这个很重要,把中断引脚设置成上拉输入
pullUpDnControl (btn_mid_pin, PUD_UP);
pullUpDnControl (btn_left_pin, PUD_UP);
pullUpDnControl (btn_right_pin, PUD_UP);
pullUpDnControl (btn_up_pin, PUD_UP);
pullUpDnControl (btn_down_pin, PUD_UP);
pullUpDnControl (btn_set_pin, PUD_UP);
pullUpDnControl (btn_rst_pin, PUD_UP);
delay(100);
wiringPiISR(btn_mid_pin,INT_EDGE_FALLING,&play);
wiringPiISR(btn_left_pin,INT_EDGE_FALLING,&prev);
wiringPiISR(btn_right_pin,INT_EDGE_FALLING,&next);
wiringPiISR(btn_up_pin,INT_EDGE_FALLING,&vol_up);
wiringPiISR(btn_down_pin,INT_EDGE_FALLING,&vol_down);
wiringPiISR(btn_set_pin,INT_EDGE_FALLING,&set_event);
wiringPiISR(btn_rst_pin,INT_EDGE_FALLING,&rst_event);
// while(1){
// if(flag == 1){
// delay(20); // 延时 按键销抖
// if(flag == 1){
// flag = 0; // 重置标志位
// // LED 闪烁
// digitalWrite(LED_R,HIGH);
// delay(100);
// digitalWrite(LED_R,LOW);
// }
// }
// }
return 0;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。