stty
(set tty,设置tty)命令用于检查和修改当前注册的终端的通信参数。UNIX系统为键盘的输入和终端的输出提供了重要的控制手段,
可以通过stty命令对特定终端或通信线路设置选项。
stty -a
查看当前注册终端的设置情况
example:
stty -F /dev/ttyS1 speed 115200
stty -F /dev/ttyS0 speed 115200 cs8 -parenb -cstopb -echo
通过stty设置/dev/ttyS0串口, 波特率为115200 ,数据位cs8,奇偶校验位-parenb,停止位-cstopb,同时-echo禁止终端回显。
stty -F /dev/ttyAMA3 115200 -echo @ 禁止终端回显
'-' : off
无 : on
ispeed N 设置输入速度为N 波特
ospeed N 设置输出速度为N 波特
stty iuclc # 开启 禁止输出大写
stty -iuclc # 恢复
stty olcuc # 开启 禁止输出小写
stty -olcuc # 恢复
stty size # 打印出终端的行数和列数
stty eof "string" # 改变Ctrl+D的方法:
系统默认是Ctrl+D来表示文件的结束,而通过这种方法,可以改变!
stty -echo;read;stty echo;read # 测试方法:
stty igncr # 开启 忽略回车符
stty -igncr # 恢复
定时输入:
timeout_read()
{
timeout=$1
old_stty_settings=`stty -g` #save current settings
stty -icanon min 0 time 100 #set 10seconds,not 100seconds
eval read varname #=read $varname
stty "$old_stty_settings" #recover settings
}
更简单的方法就是利用read命令的-t选项:
read -t 10 varname
/*
* 查看串口设备、irq、tx、rx
*/
cat /proc/tty/driver/serial
/*
* 写入和获得反馈
*/
echo 0 > /dev/ttyUSB0 | cat /dev/ttyUSB0
echo -en "abcd\r\n" > /dev/ttyUSB0