注解:borlittle
仅供学习参考,源代码版权归原著者所有
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />/*
* LED Example for utulinux 2440
* 一个简单的字符测试程序
*/
#include <stdio.h> /*标准输入输出头文件*/
#include <stdlib.h> /*标准库函数头文件*/
#include <unistd.h> /*定义标准杂项的符号常量和类型,申明杂项的函数头文件*/
#include <sys/ioctl.h> /*特殊控制函数ioctl头文件,在系统目录的sys目录下*/
int main(int argc, char **argv) /*带参数主函数*/
{
int on;
int led_number;
int fd; /*定义文件描述符变量*/
/*获取控制台参数,并处理错误*/
if (argc != 3 || sscanf(argv[1], "%d", &led_number) != 1 || sscanf(argv[2],"%d", &on) != 1 ||
on < 0 || on > 1 || led_number < 0 || led_number > 3)
{
fprintf(stderr, "Usage:\n"); /*stderr将错误信息送到标准错误文件中,并通过fprintf输出到终端 */
fprintf(stderr, "\t led led_number on|off\n");
fprintf(stderr, "Options:\n");
fprintf(stderr, "\t led_number from 0 to 3\n");
fprintf(stderr, "\t on 1 off 0\n");
exit(1);
}
fd = open("/dev/led", 0); /*打开设备*/
if (fd < 0)
{
perror("open device /dev/led"); /*打开失败,提示错误*/
exit(1);
}
ioctl(fd, on, led_number); /*控制I/O设备点亮相应的LED*/
close(fd); /*关闭退出*/
return 0;
}
文章评论(0条评论)
登录后参与讨论