`
xitongyunwei
  • 浏览: 924835 次
文章分类
社区版块
存档分类
最新评论

mini2440上程序不能控制led的解决办法

 
阅读更多

(1)在学习mini2440的过程中,开始写了一个控制led灯的程序app-led.c

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/ioctl.h>

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/leds", 0);
if (fd < 0) {
perror("open device leds");
exit(1);
}
ioctl(fd, on, led_no);
close(fd);
return 0;
}

然后编译#arm-linux-gcc -o app-led app-led.c

下载到开发板运行程序的时候,4个led灯还是流水灯的跑法,并没有达到控制某个灯的目的。

通过查看mini2440用户手册-20110421.pdf的2.5.6章节,发现了如下图这段话。

之后程序就能成长工作了。

(2)关于这个的进一步描述,在mini2440——linux移植开发实战指南.pdf的3.22章节,如下图

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics