linux下查看与设置串口(或串口终端)信息和属性

您所在的位置:网站首页 linux关闭串口打印 linux下查看与设置串口(或串口终端)信息和属性

linux下查看与设置串口(或串口终端)信息和属性

2023-08-14 03:07| 来源: 网络整理| 查看: 265

两种方法

利用/proc查看串口(或串口终端)属性:  cat /proc/tty/driver/serial                                                                                                              或: cat /proc/tty/drivers

使用stty查看与设置串口(或串口终端)属性:      stty -F /dev/ttySn -a

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

其他

查看串口是否可用,可以对串口发送数据,如: echo helloworld >/dev/ttyS0

查看串口驱动:cat /proc/tty/drivers/serial

在终端输入:dmesg | grepttyS*显示从系统启动到现在串口插入拔出的信息。

然后在设备端插入一个usb转rs232线,在终端输入:dmesg | grepttyS* ,会显示:usb 2-2.1:pl2303 converter now attached tottyUSB0; 可以通过此法确定我新插入的串口线对应的串口号。

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

使用stty查看与设置串口(或串口终端)属性 1. 指令语法

通过--help参数查看语法规则。

# 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:     打印当前的所有设置打开指定的设备,并用此设备作为输入来代替标准输入

[参数]

终端设置:指定终端命令行的设置选项。 ---------------------------------------------------------------------------------------------------------​-----------------​

2. 使用方法

可以用stty指令,查看或设置某个串口的波特率等信息。

用stty查看串口参数:       stty -F /dev/ttySn -a          #ttySn为要查看的串口

用stty设置串口参数:       

stty -F /dev/ttyS0 ispeed 115200 ospeed 115200 cs8 -parenb -cstopb  -echo 该命令将串口1(/dev/ttyS0)输入输出都设置成115200波特率,8位数据模式,

奇偶校验位-parenb,停止位-cstopb,同时-echo禁止终端回显。

一般情况下设置波特率和数据模式这两个参数就可以了,如果显示数据乱码,可能还需要设置其它参数,使用man查看stty其它设置选项。

打印出终端的行数和列数:        stty  size

在命令行下禁止输出小写:        stty olcuc #开启         /       stty -olcuc#恢复

改变ctrl+D的方法:                       stty eof "string" 系统默认是ctrl+D来表示文件的结束,而通过这种方法,可以改变。  屏蔽回显:                                 stty -echo #禁止回显             /          stty echo #打开回显 测试方法:                                 stty -echo;read;                     /          stty echo;read

忽略回车符:                              stty igncr #开启                     /          stty -igncr#恢复

cat打印串口数据:                     cat /dev/ttyS0                    #串口数据就可以在终端上显示了。

发送数据:                                 echo "sss" > /dev/ttyS0

读取串口数据并保存:      cat /dev/ttyUSB0 > serialdata.txt

---------------------------------------------------------------------------------------------------------​-----------------​

3.  示例

附: 串口查看参数 # stty -a -F /dev/ttyS0

speed 115200 baud;stty: /dev/ttyS0  line = 0; 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 -iutf8 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

---------------------------------------------------------------------------------------------------------​-----------------​

4.  参数说明 特殊字符:  * 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 配合使用,设置每次一完整读入的最小字符数为   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,                所有特殊字符均使用默认值



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3