本文,记录Linux-termios基础应用开发。
快速api调试流程(apue-termios)
- fig18.10:更改特殊字符,禁用中断字符,文件结束符设置为ctrl+b
- 检验程序结果比较麻烦
- 中断字符是ctrl+c,这样,直接在该程序里面加入while(1);,然后运行,发现无法再使用ctrl+c中断程序了
- 文件结束符,暂时未测试
- isatty,检测是否为终端设备
- fpathconf,get configuration values for files
- tcgetattr、tcsetattr
- 检验程序结果比较麻烦
- fig18.11:使用屏蔽字标志取一个值或者设置一个值,例程设置字符长度
- fig18.14:测试,isatty检验fd所关联是否为终端设备、ctermid运行时确定终端名字
- fig18.16:测试ttyname,返回fd上打开的终端设备的路径名
- fig18.18:测试getpass,规范模式,模仿密码输入(也就是输入时候没有回显,不暴露密码)
- fig18.21:使用非规范模式,将终端设置为cbreak模式和原始模式
- 测试的时候,del键需要查找,看链接
- fig18.22:打印窗口大小
思考逻辑
- 图18-1,逻辑结构
- 改变设备属性
- 只有在输出队列为空时,才能改变一个终端的属性
- 改变终端属性时,丢弃输入队列里所有东西
- 各个长度限制
- 改变设备属性
- 查询图表
- 图18-3:c_cflag
- 图18-4:c_iflag
- 图18-5:c_lflag
- 图18-6:c_oflag
- 图18-7:终端io函数
- 特殊输入字符,图18-9,551-552详细说明
- 规范输入:四个输入返回条件,567
- 非规范输入:图18-19,非规范输入的4种情况
快速serial调试流程(zlg-sample、ibm)
- zlg-sample-1:联机调试
- ibm:单机调试(更容易测试,因为不需要实际物理设备)
参考资料