生产实习(普特第六节课)__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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值