微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 字符设备驱动-利用次设备号实现多路LED控制

字符设备驱动-利用次设备号实现多路LED控制

时间:11-21 来源:互联网 点击:

fd = open(filename, O_RDWR);

if (fd < 0)

{

printf("error, cant open %s\n", filename);

return 0;

}

if (!strcmp("on", argv[2]))

{

// 亮灯

val = 0;

write(fd, &val, 1);

}

else if (!strcmp("off", argv[2]))

{

// 灭灯

val = 1;

write(fd, &val, 1);

}

else

{

print_usage(argv[0]);

return 0;

}

}

=================================================================================================

实验:

ls -l /dev/leddrv

ls -l /dev/leddrv1

./leddrvTest /dev/leddrv on

./leddrvTest /dev/leddrv off

./leddrvTest /dev/leddrv1 on

./leddrvTest /dev/leddrv2 on

./leddrvTest /dev/leddrv2 off

./leddrvTest /dev/leddrv3 on

./leddrvTest /dev/leddrv3 off

运行程序时输入不同的/dev/leddrv、/dev/leddrv1、/dev/leddrv2、/dev/leddrv3得到的次设备号不同,驱动程序中根据不同的次设备号控制不同的灯,输入不同的on、off命令write时写入的值不同,根据不同的值执行开关动作。


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top