http://note.youdao.com/noteshare?id=1b6f0951062752fb84420cb578717268

stty的使用 和 RTSCTS问题

关于stty命令

man stty 1 进行查看, 如下所示

STTY(1) FSF STTY(1)

NAME
​ stty - 改变并打印终端行设置

总览
​ stty [-F device][–file=device] [SETTING]…
​ stty [-F device][–file=device] [-a|–all]
​ stty [-F device][–file=device] [-g|–save]

描述
​ 打印或改变终端属性.

   -a, --all以可读的格式打印当前的所有设置-g, --save以终端可读的格式打印当前的所有设置-F, --file打开指定的设备,并用此设备作为输入来代替标准输入--help 显示帮助并退出--version显示版本信息并退出选项-在SETTING之前使用这些选项将被视为无效                 星号*表明是非POSIX设置.以下是一些系统定义了的可用设置:

特殊字符
​ * dsusp CHAR CHAR表示输入满时,发一个停止信号给终端

   eof CHARCHAR表示一个文件结束 (结束输入)eol CHARCHAR表示当前行结束* eol2 CHAR CHAR是另一个表示结束当前行的字符erase CHARCHAR表示擦除最后一个输入字符intr CHARCHAR表示发一个中断信号kill CHARCHAR表示擦除当前行  ..........
stty具体使用
  1. 设置ttyS1为115200:

    ​ # stty -F /dev/ttyS1 115200

  2. 向ttyS1写入数据进行验证:

    ​ # echo “test ttyS1” > /dev/ttyS1

  3. 查看ttyS1的已配置参数

    ​ # stty -F /dev/ttyS1 -a

    ​ 返回:

    ​ 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

  4. 使用stty配置具体参数有效或无效

    ​ # stty -F /dev/ttyS1 crtscts //使ttyS1 的 crtscts 有效

    ​ # stty -F /dev/ttyS1 -crtscts //使ttyS1 的 crtscts 无效

关于RTSCTS问题

概念 [总结: 发送接收的使能管脚的配置]

通信协议中的RTS/CTS协议:即请求发送/允许发送协议,相当于一种握手协议,主要用来解决"隐藏终端"问题。“隐藏终端”(Hidden Stations)是指,基站A向基站B发送信息,基站C未侦测到A也向B发送,故A和C同时将信号发送至B,引起信号冲突,最终导致发送至B的信号都丢失了。"隐藏终端"多发生在大型单元中(一般在室外环境),这将带来效率损失,并且需要错误恢复机制。当需要传送大容量文件时,尤其需要杜绝"隐藏终端"现象的发生。IEEE802.11提供了如下解决方案。在参数配置中,若使用RTS/CTS协议,同时设置传送上限字节数----一旦待传送的数据大于此上限值时,即启动RTS/CTS握手协议:首先,A向B发送RTS信号,表明A要向B发送若干数据,B收到RTS后,向所有基站发出CTS信号,表明已准备就绪,A可以发送,而其余欲向B发送数据的基站则暂停发送;双方在成功交换RTS/CTS信号(即完成握手)后才开始真正的数据传递,保证了多个互不可见的发送站点同时向同一接收站点发送信号时,实际只能是收到接收站点回应CTS的那个站点能够进行发送,避免了冲突发生。即使有冲突发生,也只是在发送RTS时,这种情况下,由于收不到接收站点的CTS消息,大家再回头用DCF协议提供的竞争机制,分配一个随机退守定时值,等待下一次介质空闲DIFS(Distributed Inter-Frame Space)后竞争发送RTS,直到成功为止。

MODEM硬件流控中的RTS与CTS:按照SIMCOM公司的解释,RTS和CTS是独立,

1.RTS是模块的输入端,用于MCU通知模块,MCU是否准备好,模块是否可向MCU发送信息,RTS的有效电平为低。

2.CTS是模块的输出端,用于模块通知MCU,模块是否准备好,MCU是否可向模块发送信息,CTS的有效电平为低 从文字看,RTS和CTS是独立的,不存在每次单向数据传输的发起者问题。

如果主机输出RTS有效,那么模块有数据就会发往主机;如果模块输出CTS有效,那么主机就可以将数据送达模块接收。

遇到的问题 : 在MTK芯片中配置串口, 使能了crtscts.

​ 将程序移植到realtek芯片中, 串口无法使用, 原因就在于使能了crtscts,

stty的使用 和 RTSCTS问题相关推荐

  1. [uart]stty命令使用

    中文解释链接:http://linux.51yip.com/search/stty 英文解释链接:http://pubs.opengroup.org/onlinepubs/9699919799/uti ...

  2. Linux stty

    在linux/unix 平台上的sqlplus中,如果输错了字符,要想删除,习惯性的按下backspace键后,发现非但没有删除想要删掉的字符,还多出了两个字符^H.当 然,我们可以同时按下ctrl+ ...

  3. Linux命令之stty

    用途说明 stty命令用于显示和修改终端行设置(change and print terminal line settings). 常用参数 stty命令不带参数可以打印终端行设置,加上-a参数可以打 ...

  4. linux输入不显示的处理 stty echo

    显示输入: stty echo 关闭输入 stty -echo

  5. 使用stty修改终端设置 stty 用法!

    在linux/unix平台上的 sqlplus中,如果输错了字符,要想删除,习惯性的按下backspace键后,发现非但没有删除想要删掉的字符,还多出了两个字符^H.当然,我们 可以同时按下ctrl+ ...

  6. stty 命令中文使用详解

    开源是一种精神,分享是一种美德! stty 相关命令:暂无相关命令 用法:stty [-F 设备 | --file=设备] [设置]...或:stty [-F 设备 | --file=设备] [-a| ...

  7. stty设置串口命令

    stty -F /dev/ttyS0 speed 115200  cs8 -parenb -cstopb 115200波特率 8数据位 1停止位 无校验位

  8. Linux通过stty命令操作串口设备(linux串口操作命令)

    stty(settty,设置tty)命令用于检查和修改当前注册的终端的通信参数 1.显示某个串口参数信息:stty -F /dev/ttySTM6 -a2.设置某个串口参数信息:2.1 7位数据位,无 ...

  9. Linux命令行操作串口收发数据(stty命令)

    一.设置串口参数(stty) stty命令man手册:https://man7.org/linux/man-pages/man1/stty.1.html. stty命令作用:change and pr ...

最新文章

  1. 搭建yum源,配置yum源
  2. 最优化理论与方法(part4)--秩一校正
  3. 简明Linux命令行笔记:finger
  4. 今天提交了一个patch开心,呵呵
  5. (62)FPGA面试题-用verilog写一段代码,实现消除一个glitch(毛刺)(一)
  6. python 动态类型_动态类型(Dynamic type)
  7. 复合梯形公式与复合辛普森公式matlab_时尚女装套装的公式图纸分享
  8. 常用文件格式转换大全: PDF转Word,WORD转PDF转换器,DOCX转DOC转换
  9. Blocks in Objective-C
  10. MySQL select
  11. java中final类调用_Java中final的使用
  12. 各代iphone尺寸_iPhone每一代的屏幕尺寸比例是多少?
  13. Unity 实现蓄力攻击
  14. 通过IMSI判断运营商的方法
  15. kafka:工具:kafkaTool 使用方法
  16. IDM下载器的自定义设置
  17. 参考虚幻引擎UObjectBase类源代码定义出 UObject对象成员的偏移量
  18. 怎么用python制作随机点名软件_python写一个随机点名软件
  19. Android Studio开发之报错-Compilation is not supported for following modules
  20. 面试了一个32岁的程序员,一个细节就看出来是培训班的····

热门文章

  1. 轻松玩转新编日语1 zz江沪
  2. python实战-实现内网CAS统一认证登录
  3. 市面上的IT培训机构的水与火,作为内部人给你最真实的建议
  4. 从HEVC到VVC:帧内预测技术的演进(2) – 多划分及多参考行帧内预测
  5. C++ BMI指数(身体质量指数) 计算程序
  6. Java实现微信支付之Native模式
  7. PhotoshopCS6常用快捷键速查
  8. win7无法保存打印机设置(错误0x000006d9)解决方法
  9. xe-utils 计算:年份、月份、周、天、每月天数、月的第几周、年的第几天、年的第几周、日期倒计时、日期至今差距计算、任意日期格式化
  10. 第一方物流、第二方物流、第三方物流、第四方物流