第八节 Linux系统编程-字符设备控制-led灯

本文详细介绍了在Linux环境下如何通过字符设备控制LED灯。内容包括使用ioctl函数进行高效操作,提供了LED灯测试例程的编写过程,并讲解了如何在Ubuntu系统下编译及在开发板上运行该程序,实现对LED灯的不同状态控制。
摘要由CSDN通过智能技术生成

-------------------------------------资源来源于网络,仅供自学使用,如有侵权,联系我必删.

第一:

字符类 led 灯

1)在前面介绍 open 函数的时候,已经提到过如何打开字符类设备,获得句柄的方法和一般文件都是一样。
Led 灯的设备节点在/dev 目录下,如下图所示,在超级终端可以使用 ls 命令查找。

 

2)在前面介绍过,如果要给文件进行写操作,那么使用的是 write 函数。对于 led 小灯的操作,使用写函数,理论上也是可以的。但是对于 IO 口(这里的 IO 口指的是硬件上的 IO 口,不是指 IO 文件)的操作,Linux 专门设计了一个高效的函数 ioctl。

ioctl函数:
• int ioctl( int fd, int request, int cmd);
– 参数fd,函数open 返回的句柄
– 参数request 和参数cmd,由内核驱动决定具体操作,例如request 可以
代表那个IO 口
– 参数cmd:代表对IO 进行什么样的操作,也可以反过来。具体的含义由
驱动工程师在驱动中switch决定
– 返回值:返回0 成功;返回-1,出错

 

第二:

 小灯测试例程
编写简单的 leds.c 文件测试小灯。
首先添加头文件,如

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值