⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 button_test.c

📁 我自己编的基于arm9的矩阵键盘驱动
💻 C
字号:
#include <stdio.h> 
#include <stdlib.h> 
#include <unistd.h> 
#include <sys/ioctl.h> 
#include <sys/types.h> 
#include <sys/stat.h> 
#include <fcntl.h> 
#include <sys/select.h> 
#include <sys/time.h> 
#include <errno.h> 

int main(void) 
{ 
	int buttons_fd,i; 
	int key_value; 
	buttons_fd = open("/dev/matrix_button", 0); 
	if (buttons_fd < 0) { 
	perror("open device buttons"); 
	exit(1); 
	} 
	for (;;) 
	{ 
		fd_set rds; 
		int ret; 
		FD_ZERO(&rds); 
		FD_SET(buttons_fd, &rds); 
		ret = select(buttons_fd + 1, &rds, NULL, NULL, NULL); 
		if (ret < 0) 
		{ 
			perror("select"); 
			exit(1); 
		} 
		if (ret == 0) 
		{ 
			printf("Timeout.\n"); 
		} 
		else if (FD_ISSET(buttons_fd, &rds)) 
		{ 
			int ret = read(buttons_fd, &key_value, sizeof key_value); 
			if (ret != sizeof key_value) 
			{ 
				if (errno != EAGAIN) 
					perror("read buttons\n"); 
				continue; 
			} 
			else 
			{ 
				printf("buttons_value: %d\n", key_value); 
			} 
		} 
	} 
	close(buttons_fd); 
	return 0; 
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -