arm linux 蜂鸣器qt,Qt 程序中使用蜂鸣器 ioctl()

在最近的项目中,由于使用的显示屏的触摸效果不是很好,有时触摸的力度小了,就没反应,用户的手指有挡住了按键,不能看到按键按下的时的效果。于是就提出了在按键触发效果时蜂鸣器就叫一下。

在几经查找资料后,发现了ioctl()函数,能很好的控制I/O设备。

函数名:ioctl()

头文件:#include

用   法:int ioctl(int fd,unsigned int cmd,[int *argdx, int argcx]);

功   能:控制I/O设备 ,提供了一种获得设备信息和向设备发送控制参数的手段。用于向设备发控制和配置命令 ,有些命令需要控制参数,这些数据是不能用read / write 读写的,称为Out-of-band数据。也就是说,read / write 读写的数据是in-band数据,是I/O操作的主体,而ioctl 命令传送的是控制信息,其中的数据是辅助的数据。

ioctl()函数的返回值0代表成功,-1代表失败。

那我们看看函数的参数:

第一个是 int fd,学习过一段时间网络编程的人,一看就能联想到这是文件描述符,没错,linux下所有对设备和文件的操作都使用文件描述符来进行的。文件描述符是一个简单的整数,用以标明每一个被进程所打开的文件和socket。第一个打开的文件是0,第二个是1,依此类推。但 操作系统通常给每个进程能打开的文件数量强加一个限制。

简单点来说:fd就是用户程序打开设备时使用open函数返回的文件标示符。

第二个是unsigned int cmd,cmd是command(命令)的简写,在有些资料上我们也

你可能感兴趣的:(arm,linux,蜂鸣器qt)