Chinaunix首页 | 论坛 | 博客
  • 博客访问: 188425
  • 博文数量: 54
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2018
  • 用 户 组: 普通用户
  • 注册时间: 2013-03-31 23:14
文章存档

2014年(2)

2013年(52)

分类: 嵌入式

2013-07-25 09:14:37

#include
#include
#include
#include
#include
#include
#include
#include
#include




/*--------------------------*/   //具体开发板相关
#define LED_ON _IO('k', 0)
#define LED_OFF _IO('k', 1)


#define LED1  2
#define LED2  3
#define LED3  4
#define LED4  1
int ledfd;
int led_init(){
ledfd = open("/dev/led",O_RDWR | O_NONBLOCK);
if (ledfd< 0) {
perror("open led");
return -1;
}
return 0;
}
int led_exit(){
led_off(LED1);
led_off(LED2);
led_off(LED3);
led_off(LED4);
close(ledfd);
return 0;
}

int led_on(int num ){
ioctl(ledfd,LED_ON,num);
return 0;
}
int led_off(int num ){
ioctl(ledfd,LED_OFF,num);
return 0;
}
int led_Flicke(int num,long  time){
int flag = 1;
while(flag >0){
ioctl(ledfd,LED_ON,num);
usleep(time );
ioctl(ledfd,LED_OFF,num);
usleep(time );
flag--;
}
return 0;
}
/*-------------------*/
void show_list(){
puts("        *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-");
puts("        push any key mentioned as follow");
puts("        led1 on/off:------1");
puts("        led2 on/off:------2");
puts("        led3 on/off:------3");
puts("        led4 on/off:------4");
puts("        Print the list:---5");
puts("        Cp file A to B:---6");
puts("        Special:----------7");
puts("        Quit:-------------8");
puts("        *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-");
}
void fun(char *aa,char *bb){
int fd1,fd2;
int ret;

fd1=open(aa,O_RDONLY);
fd2=open(bb,O_CREAT|O_RDWR);

while(1){
int buf[1024];
memset(buf,0,1024);
ret=read(fd1,buf,1024);
write(fd2,buf,ret);
if(ret<1024)
break;
}
close(fd1);
close(fd2);
return;
}
int main(){
int l;
int flag1=0,flag2=0,flag3=0,flag4=0;
led_init();
show_list();
while(1){
puts("input your choice:");
scanf("%d",&l);
//getchar();
switch(l){
case   1: {
flag1=~flag1;
if(flag1) led_on(LED1);
else     led_off(LED1);
}break;
case   2: {
flag2=~flag2;
if(flag2) led_on(LED2);
else     led_off(LED2);
}break;
case   3: {
flag3=~flag3;
if(flag3) led_on(LED3);
else     led_off(LED3);
}break;
case   4: {
flag4=~flag4;
if(flag4) led_on(LED4);
else     led_off(LED4);
}break;
case   5: {
show_list();
}break;
case   6: {
puts("input two file names");
char a[10],b[10];
puts("which file you want to copy?");
scanf("%s",a);
puts("copy to what?");
scanf("%s",b);
fun(a,b);
}break;


case   7: {
int i;
for(i=0;i<10;i++){    
led_off(LED1);
led_off(LED2);
led_off(LED3);
led_off(LED4);
usleep(10000);
led_on(LED1);
led_on(LED2);
led_on(LED3);
led_on(LED4);
usleep(10000);
}

}break;
case   8: {
exit(0); 
}break;     
default :{
puts("--------input erro! try others----------");
}break; 
}
}
return 0;
}

阅读(1074) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~