生产实习(普特第六节课)__2018.07.10

虚拟机要以管理员身份运行
不能选择自动,自动默认是无线。

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <stdlib.h>
#include <string.h>

int key1_fd=-1;
int key2_fd=-1;
int led_fd=-1;
int beep_fd=-1;

int main(int argc, const char *argv[])
{
	char s2;//key1  a
	key1_fd=open("/dev/s2",O_RDWR);
	if(key1_fd<0)
	{
		perror("open key1 error:");
		exit(-1);
	}

	char s3;//key2   b
	key2_fd=open("/dev/s3",O_RDWR);
	if(key2_fd<0)
	{
		perror("open key2 error:");
		exit(-1);
	}

	char led;  //1 2
	led_fd=open("/dev/myled",O_RDWR);
	if(led_fd<0)
	{
		perror("open led error:");
		exit(1);
	}
	
	beep_fd = open("/dev/mybeep", O_RDWR);
	if (beep_fd < 0) 
	{
		perror("open beep error:");
		exit(1);
	}

	char beep='2';
	write (beep_fd, &beep, 1);

	while(1)
	{
		read(key1_fd, &s2, 1);
		printf("key1=%c\n",s2);
		if(s2 == 'a')
		{
			beep='1';
			write(beep_fd,&beep,1);
			led='2';
			write(led_fd,&led,1);
		}

		read(key2_fd,&s3,1);
		printf("key2=%c\n",s3);
		if(s3=='b')
		{
			beep='2';
			led='1';
			write(beep_fd,&beep,1);
			write(led_fd,&led,1);
		}
	}
	close(beep_fd);
	close(led_fd);
	close(key1_fd);
	close(key2_fd);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_40316053/article/details/80990245