本文,记录Linux-termios基础应用开发。
快速api调试流程(apue-termios)
  1. fig18.10:更改特殊字符,禁用中断字符,文件结束符设置为ctrl+b

    1. 检验程序结果比较麻烦

      1. 中断字符是ctrl+c,这样,直接在该程序里面加入while(1);,然后运行,发现无法再使用ctrl+c中断程序了
      2. 文件结束符,暂时未测试
    2. isatty,检测是否为终端设备
    3. fpathconf,get configuration values for files
    4. tcgetattr、tcsetattr
  2. fig18.11:使用屏蔽字标志取一个值或者设置一个值,例程设置字符长度
  3. fig18.14:测试,isatty检验fd所关联是否为终端设备、ctermid运行时确定终端名字
  4. fig18.16:测试ttyname,返回fd上打开的终端设备的路径名
  5. fig18.18:测试getpass,规范模式,模仿密码输入(也就是输入时候没有回显,不暴露密码)
  6. fig18.21:使用非规范模式,将终端设置为cbreak模式和原始模式
    1. 测试的时候,del键需要查找,看链接
  7. fig18.22:打印窗口大小
思考逻辑
  1. 图18-1,逻辑结构

    1. 改变设备属性

      1. 只有在输出队列为空时,才能改变一个终端的属性
      2. 改变终端属性时,丢弃输入队列里所有东西
    2. 各个长度限制
  2. 查询图表
    1. 图18-3:c_cflag
    2. 图18-4:c_iflag
    3. 图18-5:c_lflag
    4. 图18-6:c_oflag
    5. 图18-7:终端io函数
  3. 特殊输入字符,图18-9,551-552详细说明
  4. 规范输入:四个输入返回条件,567
  5. 非规范输入:图18-19,非规范输入的4种情况
快速serial调试流程(zlg-sample、ibm)
  1. zlg-sample-1:联机调试
  2. ibm:单机调试(更容易测试,因为不需要实际物理设备)
参考资料
  1. Serial Programming Guide for POSIX Operating Systems,链接
  2. Linux 下串口编程入门,链接

[Linux]termios相关推荐

  1. linux termios 详解

    一.数据成员                                 termios 函数族提供了一个常规的终端接口,用于控制非同步通信端口. 这个结                 构包含了 ...

  2. linux termios 之 VMIN VTIME

    在linux串口编程的时候,灵活应用VMIN VTIME会给程序数据处理提供更大的便利性. VMIN VTIME是linux串口配置参数里面的两项控制read的参数,该参数只有在阻塞读的情况下才会有效 ...

  3. Linux termios 串口编程之 VTIME与VMIN

    在Linux TTY编程时会涉及到 termios 结构,其中c_cc数组里面,有 VTIME 和 VMIN 下标.关于他们的使用经常令人迷惑,查阅了不少博客,上面的讲解也有不少误区. 在这里重新对这 ...

  4. linux termios结构

    termios 结构是在POSIX规范中定义的标准接口,它类似于系统V中的termio接口,通过设置termios类型的数据结构中的值和使用一小 组函数调用,你就可以对终端接口进行控制. 可以被调整来 ...

  5. Linux 串口编程二 深入了解 termios

    前言 这一系列串口编程重点在应用层编程,但是在讲解原理与相关概念时需要对驱动框架有个基础的认识.如果只是浅尝辄止,以后在遇到串口驱动与应用层程序调试难免遇到瓶颈.关于 tty驱动架构参见我的其他博客: ...

  6. linux结束驱动程序,在linux上安装FTDI设备驱动程序[关闭]

    我试图在ubuntu 10.04上安装FTDI的虚拟COM驱动程序(http://www.ftdichip.com/Drivers/VCP/Linux/ftdi_sio.tar.gz) . 我下载了文 ...

  7. LINUX串口发送数据,包数据被拆分发送

    当使用485通讯口获取DDSU666导轨式电能表数据时,发现会出现电表不回复数据. 原因分析 1包数据串口会当成多包发送. 由于大傻调试工具显示时间只能到秒,更换串口调试软件后 当一包数据被当成多包发 ...

  8. 在linux下C语言实现对键盘事件的监听【转】

    (转自:https://blog.csdn.net/alangdangjia/article/details/27697721) 我们知道,在windows下有个键盘测试函数,int kbhit(vo ...

  9. RK3126 人体感应模块驱动

    其实人体感应模块驱动比较简单,就是一个GPIO口的检测,这里主要是想提供一个接口,给上层去比较容易的控制,一般我们可以写成JNI封装,我嫌太麻烦了,直接使用共享文件的方式,往/data/data/co ...

最新文章

  1. Makefile中的几个调试方法
  2. react 用html插件,React配置过程中用到的插件汇总
  3. securecrt是什么工具_拥有这些工具,还怕干不出好活?
  4. hdu-Frosh Week(树状数组)
  5. POJ - 3347 Kadj Squares(思维+几何)
  6. Xcode中release和debug模式
  7. 电机与拖动,直流发电机实验,江南大学物联网自动化
  8. 3G 资费 流量套餐
  9. python不会英语不会数学怎么自学-英语和数学都不好,但是我想学Python编程可以吗?...
  10. 利用DDS IP实现线性调频信号(二)
  11. 关于C笔记使用体验和比较
  12. redis java 视频教程_Redis基础与提升视频教程
  13. 花西子背后的那个男人和他的五篇笔记
  14. 我的编程之路点滴记录(三)
  15. IFM分量包络解调分析MATLAB,[原创]数据包络分析(DEA)简介
  16. 数据中台的云原生机会 | 甲子光年
  17. Vue 利用后端的数据字典和Map对象实现表格列字段动态转义的处理方案
  18. NVIDIA Tesla GPU系列P4、T4、P40以及V100显卡性能的对比
  19. 图像迁移风格保存模型_图像风格迁移
  20. Python 自动生成快乐源泉小瓶子(智能版)

热门文章

  1. Mac系统下利用ADB命令连接android手机并进行文件操作
  2. 小程序微信小程序设计登录页面
  3. 创建一个docker容器
  4. MATLAB随机森林回归模型
  5. 为什么很多硅谷工程师偏爱 OS X,而不是 Linux 或 Windows
  6. ViewPage2简单使用
  7. 存在外键关联的主表truncate如何做
  8. spring配置详解
  9. QGIS下载各种DEM的插件(SRTM 90m/30m -ALOS 30m -Cop 30m/90m-NASADEM Global DEM)
  10. go开源网络库nano(6)-hander逻辑