Linux stty 指令设置串口参数
目录
1. Stty 指令简介
2. Stty 指令语法
3. Linux 串口设备
4. 配置串口属性
5. 串口数据读写操作
6. 附录.串口设置参数
1. Stty 指令简介
TTY 是 Teletype 或 Teletypewriter 的缩写,原来是指电传打字机,后来这种设备逐渐键盘和显示器取代。不管是电传打字机还是键盘显示器,都是作为计算机的终端设备存在的,所以 TTY 也泛指计算机的终端(terminal)设备。
Linux系统中,stty(set tty,设置tty)命令,即改变并打印终端行设置,用于检查和修改当前注册的终端的通信参数。
2. Stty 指令语法
# stty --help
Usage: stty [-F DEVICE] [--file=DEVICE] [SETTING]...
or: stty [-F DEVICE] [--file=DEVICE] [-a|--all]
or: stty [-F DEVICE] [--file=DEVICE] [-g|--save]
[选项]
-a, --all : 以容易阅读的方式打印当前的所有配置;
-g, --save: 以stty终端可读方式打印当前的所有配置。
-F, --file: 打印当前的所有设置打开指定的设备,并用此设备作为输入来代替标准输入
[参数]
终端设置:指定终端命令行的设置选项。
3. Linux 串口设备
Linux系统中,一切皆为文件,所以串口端口号也如此,以设备文件的形式存在。即通过访问文本文件来访问串口。
3.1 一般串口设备格式:
# /dev/ttyS*
查看所有串口设备:
# ls -l /dev/ttyS*
3.2 USB 串口设备格式:
# /dev/ttyUSB*
查看所有USB串口设备:
# ls -l /dev/ttyUSB*
3.3 查看串口驱动
# cat /proc/tty/driver/serial
3.4 查看串口设备
# dmesg | grep ttyS*
# dmesg | grep ttyUSB*
3.5 查看串口有没有设备
# grep tty /proc/devices
4. 配置串口属性
4.1 查看串口属性
# stty -a -F /dev/ttyS0
4.2 设置串口属性
# stty -F /dev/ttyS0 speed 115200 cs8 -parenb -cstopb
设置串口ttyS0波特率为115200,8位数据位,1位停止位,无校验位
5. 串口数据读写操作
5.1 向串口发送数据
# echo hello world! > /dev/ttyS0
5.2 读取串口中的数据
# cat /dev/ttyUSB0
5.3 读取串口数据并保存
# cat /dev/ttyUSB0 > serialdata.txt
6. 附录.串口设置参数
# stty -a -F /dev/ttyS0
---------------------------------------------------------------------------------------------------------
speed 9600 baud; rows 24; columns 80;
intr = ^C; quit = ^; erase = ^?; kill = ^U; eof = ^D; eol = ;
eol2 = ; swtch = ; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke -flusho -extproc
---------------------------------------------------------------------------------------------------------
特殊字符:
* dsusp 字符 每当输入刷新时会发送一个用于终端阻塞信号的字符
eof 字符 表示文件末尾而发送的字符(用于终止输入)
eol 字符 为表示行尾而发送的字符
* eol2 字符 为表示行尾而发送的另一个可选字符
erase 字符 擦除前一个输入文字的字符
intr 字符 用于发送中断信号的字符
kill 字符 用于擦除当前终端行的字符
* lnext 字符 用于输入下一个引用文字的字符
quit 字符 用于发送退出信号的字符
* rprnt 字符 用于重绘当前行的字符
start 字符 在停止后重新开启输出的字符
stop 字符 停止输出的字符
susp 字符 发送终端阻断信号的字符
* swtch 字符 在不同的shell 层次间切换的字符
* werase 字符 擦除前一个输入的单词的字符
特殊设置:
N 设置输入输出速度为N 波特
* cols N 统治内核终端上有N 栏
* columns N 等于cols N
ispeed N 设置输入速度为N 波特
* line N 设置行约束规则为N
min N 和 -icanon 配合使用,设置每次一完整读入的最小字符数为<N>
ospeed N 设置输出速度为N 波特
* rows N 向内核通告此终端有N 行
* size 根据内核信息输出当前终端的行数和列数
speed 输出终端速度(单位为波特)
time N 和-icanon 配合使用,设置读取超时为N 个十分之一秒
控制设置:
[-]clocal 禁用调制解调器控制信号
[-]cread 允许接收输入
* [-]crtscts 启用RTS/CTS 握手
csN 设置字符大小为N 位,N 的范围为5 到8
[-]cstopb 每个字符使用2 位停止位 (要恢复成1 位配合"-"即可)
[-]hup 当最后一个进程关闭标准终端后发送挂起信号
[-]hupcl 等于[-]hup
[-]parenb 对输出生成奇偶校验位并等待输入的奇偶校验位
[-]parodd 设置校验位为奇数 (配合"-"则为偶数)
输入设置:
[-]brkint 任务中断会触发中断信号
[-]icrnl 将回车转换为换行符
[-]ignbrk 忽略中断字符
[-]igncr 忽略回车
[-]ignpar 忽略含有奇偶不对称错误的字符
* [-]imaxbel 发出终端响铃但不刷新字符的完整输入缓冲
[-]inlcr 将换行符转换为回车
[-]inpck 启用输入奇偶性校验
[-]istrip 剥除输入字符的高8 位比特
* [-]iutf8 假定输入字符都是UTF-8 编码
* [-]iuclc 将大写字母转换为小写
* [-]ixany 使得任何字符都会重启输出,不仅仅是起始字符
[-]ixoff 启用开始/停止字符传送
[-]ixon 启用XON/XOFF 流控制
[-]parmrk 标记奇偶校验错误 (结合255-0 字符序列)
[-]tandem 等于[-]ixoff
输出设置:
* bsN 退格延迟的风格,N 的值为0 至1
* crN 回车延迟的风格,N 的值为0 至3
* ffN 换页延迟的风格,N 的值为0 至1
* nlN 换行延迟的风格,N 的值为0 至1
* [-]ocrnl 将回车转换为换行符
* [-]ofdel 使用删除字符代替空字符作填充
* [-]ofill 延迟时使用字符填充代替定时器同步
* [-]olcuc 转换小写字母为大写
* [-]onlcr 将换行符转换为回车
* [-]onlret 使得换行符的行为表现和回车相同
* [-]onocr 不在第一列输出回车
[-]opost 后续进程输出
* tabN 水平制表符延迟的风格,N 的值为0 至3
* tabs 等于tab0
* -tabs 等于tab3
* vtN 垂直制表符延迟的风格,N 的值为0 至1
本地设置:
[-]crterase 擦除字符回显为退格符
* crtkill 依照echoprt 和echoe 的设置清除所有行
* -crtkill 依照echoctl 和echol 的设置清除所有行
* [-]ctlecho 在头字符中输出控制符号("^c")
[-]echo 回显输入字符
* [-]echoctl 等于[-]ctlecho
[-]echoe 等于[-]crterase
[-]echok 在每清除一个字符后输出一次换行
* [-]echoke 等于[-]crtkill 意义相同
[-]echonl 即使没有回显任何其它字符也输出换行
* [-]echoprt 在"\"和"/"之间向后显示擦除的字符
[-]icanon 启用erase、kill、werase 和rprnt 等特殊字符
[-]iexten 允许POSIX 标准以外的特殊字符
[-]isig 启用interrupt、quit和suspend 等特殊字符
[-]noflsh 在interrupt 和 quit 特殊字符后禁止刷新
* [-]prterase 等于[-]echoprt
* [-]tostop 中止尝试向终端写入数据的后台任务
* [-]xcase 和icanon 配合使用,用转义符"\"退出大写状态
综合设置:
* [-]LCASE 等于[-]lcase
cbreak 等于-icanon
-cbreak 等于icanon
cooked 等于brkint ignpar istrip icrnl ixon opost isig icanon eof eol 等的默认值
-cooked 等于-raw
crt 等于echoe echoctl echoke
dec 等于echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u
* [-]decctlq 等于[-]ixany
ek 清除所有字符,将它们回溯为默认值
evenp 等于parenb -parodd cs7
-evenp 等于-parenb cs8
* [-]lcase 等于xcase iuclc olcuc
litout 等于-parenb -istrip -opost cs8
-litout 等于parenb istrip opost cs7
nl 等于-icrnl -onlcr
-nl 等于icrnl -inlcr -igncr onlcr -ocrnl -onlret
oddp 等于parenb parodd cs7
-oddp 等于-parenb cs8
[-]parity 等于[-]evenp
pass8 等于-parenb -istrip cs8
-pass8 等于parenb istrip cs7
raw 等于-ignbrk -brkint -ignpar -parmrk -inpck -istrip
-inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany
-imaxbel -opost -isig -icanon -xcase min 1 time 0
-raw 等于cooked
sane 等于cread -ignbrk brkint -inlcr -igncr icrnl -iutf8
-ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr
-onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh
-xcase -tostop -echoprt echoctl echoke,
所有特殊字符均使用默认值
————————————————
版权声明:本文为CSDN博主「无尾猴」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_34796705/article/details/116013286
Linux stty 指令设置串口参数相关推荐
- linux如何设置串口参数,串口通信的参数如何设置
串行接口是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件.一般完成这种功能的电路,我们称为串行接口电路. 串口通信程 ...
- Linux如何去设置TC参数
使用linuxTC进行流量控制时,会发现若一些参数设置不当会导致流控数据效果很差(如limit,burst等值),这里分三种情况分别讲解怎么设置TC.注意TC控制的是发包(也就是设置的是单向的,若需要 ...
- linux里临时设置hbase参数,在centos下配置hbase环境并简单使用hbase shell
操作系统版本:centos7 jdk版本:jdk-8u151-linux-x64.rpm hbase版本:hbase-1.2.6 以单机模式安装运行 配置centos为静态IP 配置静态ip vi / ...
- linux命令设置波特率,Linux设置串口波特率等参数
stty查看串口参数 stty -F /dev/ttyS0 -a 1 1 查看串口1(/dev/ttyS0)当前的参数,包括波特率.数据位等. stty设置串口参数 stty -F /dev/ttyS ...
- Linux命令行操作串口收发数据(stty命令)
一.设置串口参数(stty) stty命令man手册:https://man7.org/linux/man-pages/man1/stty.1.html. stty命令作用:change and pr ...
- linux 命令行操作串口
linux 命令行操作串口 1. 获取串口号 2. 配置串口属性(stty命令) 3. 串口数据读写操作 4. 解析数据 5. 后台运行 6. 绘制数据 Linux stty命令 一.参数: 二:用法 ...
- linux驱动向不同串口发数据,Linux串口(serial、uart)驱动程序设计
一.核心数据结构 串口驱动有3个核心数据结构,它们都定义在 1.uart_driver uart_driver包含了串口设备名.串口驱动名.主次设备号.串口控制台(可选)等信息,还封装了tty_dri ...
- Linux常用指令(详解)
目录 1.ls指令 2.pwd 3.clear 4.whoami 5.cd 6.tree 7.mkdir 8.touch 9.rmdir 10.rm 11.man 12.cp 13.mv 14.cat ...
- Linux——Linux系统编程之串口编程总结(串口的初始化、读写操作实践)
目录 0 引言 1 串口编程的流程 1.1 打开串口 1.2 初始化串口 1.2.1 termios结构体 1.2.2 关键函数 1.2.3 初始化串口代码 2 串口的读写测试例程 0 引言 串口大家 ...
- linux系统串口设置参数,linux 串口编程记录(一)串口参数设置(示例代码)
一些常用串口属性的设置方法. 设置流控制 termios_new.c_cflag &= ~CRTSCTS; //不使用流控制 termios_new.c_cflag |= CRTSCTS; / ...
最新文章
- 如何在指定文件夹下进入jupyter notebook
- QT关联容器QMap,QHash的Key值自动排序问题
- Zero-Copysendfile浅析
- java和打印机_java实现打印机打印的区别
- 深度学习之生成对抗网络(4)GAN变种
- datatable转化泛型
- mysql不能写重复键_mysql主键重复,不抱错,只更新的骚操作 (如果没有插入,如果有更新)...
- 依赖混淆 exploit 已被滥用于攻击亚马逊等多家大厂
- 清理操作系统垃圾批处理文件
- 基于HMM和维特比算法的中文分词
- JAVA JNI调用科大讯飞离线语音合成Windows
- SQL Server上月同期 日期的计算
- 奶瓶 linux内核,CDlinux专用inflator-打气筒(reaver的图形化,beini奶瓶作者编写)下载 - 无线安全新手入门 - 无线论坛...
- Python -- 7. 函数
- TFT显示屏参数设置
- 码率/比特率完整介绍
- 神州数码基础知识配置总结
- 【转】磁场传感器和方位(上)
- 数据预测算法-指数平滑法-2
- JavaWeb网上订餐管理系统|餐饮就餐订餐餐厅(含源码+论文+答辩PPT等)