加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

LED测试程序运行时出现Usage:leds led_on 0|1错误的解决方法

(2012-03-04 20:29:58)
标签:

杂谈

分类: linux_question

天嵌提供的LED灯控制程序,有运行时会出现说Usage:leds led_on 0|1错误,这是由于输入的参数不对造成的。首先我们来看看它的源程序:

#include                              
#include
#include
#include

int main(int argc, char **argv)                
                                             
int on;                                               
int led_no;                                          
int fd;                                                     
if (                         argc != 3 || \            
        sscanf(argv[1], "%d", &led_no) != 1 || \               

sscanf(argv[2],"%d", &on) != 1 || \                             
                       on < 0 || on > 1 || \                                 
                led_no < 0 || led_no > 3 ) \                                    
{
fprintf(stderr, "Usage: leds led_no 0|1\n");                      
exit(1);                                                         
}
fd = open("/dev/GPIO-Control", 0);                  
if (fd < 0) {                                
   fd = open("/dev/GPIO-Control", 0);             
}
if (fd < 0) {
   perror("open device leds");             
exit(1);                                               
}
ioctl(fd, on, led_no);                         
close(fd);                                          
return 0;                                           

 

我们可以看到是我们输入的方式不对,并不是程序的错误。

正确的应该是这样:

./leds 1 1意思是第一个灯亮
./leds 1 0第一个灯灭(./表示执行的意思)

其他三个灯也是类似

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有