当前位置: 首页 > news >正文

SecureCRT 和 MobaXterm 用于串口收发时数据异常(无法成功发送)——更改换行符解决

目录

【问题】

【解决方法】        

【关于发送失败时为什么会显示自己发送的消息】     

【让SecureCRT分离显示发送框和接收框】   

【换行符概述】   


【问题】

        SecureCRT 和 MobaXterm 在嵌入式Linux领域使用很多,主要用于ssh和serial登录, 但是最近在用于单片机串口收发时发现功能异常, 用正点原子的 XCOM 可以成功对单片机设备串口进行收发数据, 但是使用这两个软件发送窗口数据后仅仅是回显了我发送出去的命令,如下图:

        

        排查一圈后发现问题主要在于:换行符不同操作系统的换行符不同,那么主要用于该平台的软件,它的默认换行符一般为主用平台的换行符。如XCOM的默认换行符是Windows所使用的CR & LF, 而SecureCRT的默认换行符是Linux所使用的LF(Line Feed), MobaXterm不确定。

        先说解决方法:

【解决方法】        

        SecureCRT:
        在Options—Session Option—Terminal—Emulation—Modes下勾选下图的2个New line mode

        

        MobaXterm:
        在鼠标右键—Change terminal settings...下视情况勾下图的两个选项(或其中之一)。
        注意:MobaXterm在打开串口界面后,需要重启或复位开发板重新建立连接

        

SecureCRT成功发送窗口指令并收到回复:

        

参考:
终端输出换行异常:Security CRT 和 mobaxterm分别该怎么设置_mobaxterm回车-CSDN博客
MobaXterm配置_mobaxterm换行-CSDN博客

【关于发送失败时为什么会显示自己发送的消息】     

        在MobaXterm中有一个选项:Local echo,可选Auto、Force on、Force off

        作用:控制是否在本地显示输入的字符
        Auto:由远程服务器决定(默认)。
        Force on:强制本地显示输入(即使远程服务器也回显,可能导致重复字符)。
        Force off:强制关闭本地回显(需依赖服务器回显,否则看不到输入)。

        在友善串口助手(官网链接)中,可以设置是否在接收框中显示发送内容,如下:

       

        在其他串口软件中应该也有类似的功能。

【让SecureCRT分离显示发送框和接收框】   

        勾选View—Command Window,即可出现下面白色背景的发送框

【换行符概述】   


        LF:        Linefeed,对应ASCII中转义字符\n,表示换行
        CR:       Carriage Return,对应ASCII中转义字符\r,表示回车
        CR&LF:Carriage Return & Linefeed,\r\n,表示回车并换行
        NR&LF:   根据系统自动调整,不建议使用

操作系统换行符说明
Unix/Linux/macOS(现代)LF (\n)纯 LF 作为换行符
WindowsCR+LF (\r\n)沿用 DOS 和早期终端的习惯
Classic Mac OS(已淘汰)CR (\r)已被 macOS(Unix-based)取代

更详细的介绍见:
        换行符 CR+LF 的解释与应用-CSDN博客
        Windows和Linux的换行符CRLF/LF(\r\n,\n)_vim 显示{cr}{lf}-CSDN博客

http://www.xdnf.cn/news/682183.html

相关文章:

  • OpenResty 入门指南:从基础到动态路由实战
  • 第1章 Redis 概述
  • Java基础 Day22
  • python变量如何理解?
  • 图像分割全路线学习(结合论文)
  • go build -gcflags 参数学习
  • Spring Boot事务失效场景及解决方案
  • 自动驾驶决策规划框架详解:从理论到实践
  • 【C语言干货】回调函数
  • endnote2025安装教程以及激活文件
  • ELectron 中 BrowserView 如何进行实时定位和尺寸调整
  • Asp.Net Core 如何配置在Swagger中带JWT报文头
  • leetcode hot100刷题日记——21.不同路径
  • 六、西方哲学
  • 【连载19】基础智能体的进展与挑战综述-对智能体大脑的威胁
  • halcon高斯滤波
  • 网络编程--上篇
  • 【详细记录】我的第一次裸片硬件尝试:stm32f103c8t6最小核心板一板成
  • unet 视频截图 实现简单的unet kaggle运行
  • Kruskal-Wallis检验 vs. 多次Wilcoxon检验:多重比较-spss
  • LCR 094. 分割回文串 II
  • Elasticsearch搜索机制与分页优化策略
  • Pytest自动化测试框架搭建:Jenkins持续集成
  • 通俗解释网络参数RTT(往返时间)
  • Scratch节日 | 六一儿童节
  • 并发编程(二)—synchronized和volatile
  • 尚硅谷redis7 55-57 redis主从复制之理论简介
  • 从零搭建上门做饭平台:高并发订单系统设计
  • 普罗米修斯监控CPU\内存汇聚图
  • 产业集群间的专利合作关系