ioctl 是用来设置硬件控制寄存器,或者读取硬件状态寄存器的数值之类的。而read,write 是把数据丢入缓冲区,硬件的驱动从缓冲区读取数据一个个发送或者把接收的数据送入缓冲区。

ioctl(keyFd, FIONREAD, &b)

得到缓冲区里有多少字节要被读取,然后将字节数放入b里面。

接下来就可以用read了。

read(keyFd, &b, sizeof(b))

清单 - 读取串行端口输入缓冲区中的字节数 
#include <unistd.h> 
#include <termios.h> 
int fd; 
int bytes; 
ioctl(fd, FIONREAD, &bytes);

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

FIONREAD,就是返回緩衝區有多少字節。
輸入有個輸入緩衝區,用
ioctl(0,FIONREAD,&nread);
能得到緩衝區裡面有多少字節要被讀取。值放在 nread裡面了
然後就可以 read 了。nread = read(0,buffer,nread);

关于 ioctl 的 FIONREAD 参数相关推荐

  1. linux_c之ioctl的FIONREAD参数

    ioctl 是用来设置硬件控制寄存器,或者读取硬件状态寄存器的数值之类的. 而read,write 是把数据丢入缓冲区,硬件的驱动从缓冲区读取数据一个个发送或者把接收的数据送入缓冲区. FIONREA ...

  2. ioctl之FIONREAD

    在学习ioctl 时常常跟 read, write 混淆.其实 ioctl 是用来设置硬件控制寄存器,或者读取硬件状态寄存器的数值之类的. 而read,write 是把数据丢入缓冲区,硬件的驱动从缓冲 ...

  3. ioctl与FIONREAD

    在学习ioctl 时常常跟 read, write 混淆.其实 ioctl 是用来设置硬件控制寄存器,或者读取硬件状态寄存器的数值之类的. 而read,write 是把数据丢入缓冲区,硬件的驱动从缓冲 ...

  4. 关于 ioctl 的 FIONREAD 參数

     ioctl 是用来设置硬件控制寄存器,或者读取硬件状态寄存器的数值之类的.而read,write 是把数据丢入缓冲区,硬件的驱动从缓冲区读取数据一个个发送或者把接收的数据送入缓冲区. ioctl(k ...

  5. ioctl 函数 参数 详解

    2019独角兽企业重金招聘Python工程师标准>>> ioctl 函数 参数 详解 2009-04-24 11:55 ioctl函数 本函数影响由fd参数引用的一个打开的文件. # ...

  6. ioctl() FIONREAD

    函数名: ioctl 头文件:#include 功能: 控制I/O设备 ,提供了一种获得设备信息和向设备发送控制参数的手段.用于向设备发控制和配置命令,有些命令需要控制参数,这些数据是不能用read ...

  7. 【原创】通过 ioctl + FIONREAD 判定数据可读

    [原创]通过 ioctl + FIONREAD 判定数据可读 摩云飞 2016-05-12 09:57:51 浏览470 评论0 libevent ioctl FIONREAD 摘要: 在排查业务 b ...

  8. spi ioctl无效参数解决

    方法一: struct spi_ioc_transfer tr;  /* 这种写法一定要赋初值 */     memset(&tr,0,sizeof(struct spi_ioc_transf ...

  9. Linux ioctl FIONREAD 和select 使用

    Linux ioctl FIONREAD 和select 使用 使用select 与ioctl判断socket client是否断开的方式 (1)ioctl + FIONREAD int nsel = ...

最新文章

  1. 太炸了!SpaceX迎来20岁生日,马斯克收到一份特殊礼物
  2. 计算机键盘为啥要这样分布,你知道电脑键盘为什么这么排列吗?
  3. 我们究竟还要学习哪些Android知识?看这一篇就够了!
  4. python获取命令行参数_【整理】Python中如何获得并处理命令行参数
  5. 专家系统代码实现_前端代码是怎样智能生成的 - 语义化篇
  6. Ubuntu16.04 安装Maven 3.5.3
  7. 递归法:汉诺塔(快速掌握)
  8. 从Slice_Header学习H.264(三.2)--相关细节之 参考图像列表
  9. ad18 bell封装_Altium 中异形焊盘异形封装的创建图文教程
  10. fortran95数组输出练习感悟
  11. 大学生职业生涯规划包word,ppt模板以及必备素材
  12. Java多线程系列--【JUC线程池 03】- 线程池原理(二)
  13. Scrum板与Kanban如何抉择?kdliihoap板与按照xhvrcr
  14. 一个用python实现的东方时尚(驾校)抢课程序
  15. MySQL数据库基础详细教程
  16. .php文件是病毒吗,php病毒
  17. 蜂蜜橙文案:水果蜂蜜橙的文案图片,水果蜂蜜橙朋友圈卖货文案
  18. 三种类型SD卡的对比
  19. 数字U家,即刻出发,2022联合利华黑客马拉松启动
  20. Error launching wind river registry on localhost

热门文章

  1. 度目人脸应用套件~联动闸机说明
  2. 【pip command】之 pip install
  3. 【饭谈】细嗦那些职场中喜欢用领导口气命令别人的同事
  4. SQL刷题——查找最晚入职员工的所有信息
  5. Android FFmpeg开发(三),利用OpenSL ES实现音频渲染
  6. 游戏文件删错了怎么恢复?4招帮你找回
  7. MRI scanner 连线说明和实验步骤
  8. adb.exe应用程序无法正常启动,提示0xc000007b错误
  9. STM32F4系列因为VCAP和BYPASS_REG不识别JTAG问题
  10. JMeter(二十四):实现文件上传的http接口测试