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

📄 testgpio.c

📁 AT9260处理器Linux2.6.24内核通用IO驱动程序
💻 C
字号:
#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <sys/ioctl.h>#include <stdio.h>#include <errno.h>#include <string.h>#include <unistd.h>#define	OUT0			0x00#define	OUT1			0x01#define	OUT2			0x02#define	OUT3			0x03#define	OUT4			0x04#define	OUT5			0x05#define	OUT6			0x06#define	OUT7			0x07#define	OUT8			0x08#define	OUT9			0x09#define	OUT10			0x0A#define	OUT11			0x0B#define	OUT12			0x0C#define	OUT13			0x0D#define	OUT14			0x0E#define	OUT15			0x0F#define	IN0			0x00#define	IN1			0x01#define	IN2			0x02#define	IN3			0x03#define	IN4			0x04#define	IN5			0x05#define	IN6			0x06#define	IN7			0x07#define	IN8			0x08#define	IN9			0x09#define	IN10			0x0A#define	IN11			0x0B#define	IN12			0x0C#define	IN13			0x0D#define	GPIO_SET		0x01#define	GPIO_GET		0x02typedef struct gpio_data {	unsigned int pin;	unsigned int data;}gpio_data;int main(){	static struct gpio_data local_data;	int i = 0;	int fd = 0;	fd = open("/dev/GPIO", O_RDWR);	if(fd < 0){		printf("Device open failed!\n");		exit(1);	}	for(i = 0; i < 16; i ++){		local_data.pin = i;		local_data.data = 1;		ioctl(fd, GPIO_SET, &local_data);	}	sleep(3);	for(i = 0; i < 16; i ++){		local_data.pin = i;		local_data.data = 0;		ioctl(fd, GPIO_SET, &local_data);	}	for(i = 0; i < 14; i ++){		local_data.pin = i;		ioctl(fd, GPIO_GET, &local_data);		printf("Port[IN%d]: %d\n", i, local_data.data);//		sleep(1);	}	close(fd);	return 0;}

⌨️ 快捷键说明

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