linux究竟是如何点亮mini2440上的LED呢?没有操作系统的单片机系统中,操作相关寄存器就可以点亮LED。为了弄明白点灯问题,现对linux点灯过程做出大胆的猜测,文中错误还请linux老鸟不令赐教!
友善提供了led控制程序可以点亮或熄灭指定LED:
执行:led 1 1
点亮led1
执行:led 1 0
熄灭led1
友善提供的led控制程序的源代码(为了简化,剃除了其中的错误处理):
led.c
01 #include <stdio.h>
02 #include <stdlib.h>
03 #include <unistd.h>
04 #include <sys/ioctl.h>
05
06 int main(int argc, char **argv)
07 {
08 int on;
09 int led_no;
10 int fd;
11 sscanf(argv[1], "%d", &led_no);
12 sscanf(argv[2],"%d", &on);
13
14 fd = open("", 0);
15
16 ioctl(fd,&
02 #include <stdlib.h>
03 #include <unistd.h>
04 #include <sys/ioctl.h>
05
06 int main(int argc, char **argv)
07 {
08 int on;
09 int led_no;
10 int fd;
11 sscanf(argv[1], "%d", &led_no);
12 sscanf(argv[2],"%d", &on);
13
14 fd = open("", 0);
15
16 ioctl(fd,&