the setting of serial port in the SecureCRT

本文详细解析了串口通信中的关键设置,包括本地回显、行尾换行、及CR/LF转换的作用与应用场景,帮助读者理解如何正确配置SecureCRT等串口软件,避免重复字符与换行错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、set echo(display characters which are sent)

由于在软件中每输入一个字符立马发送出去,如果串口另一端开启回显(比如NB-IoT的AT指令设置开启回显),软件立马显示收到发送的字符并显示;这时候如果选择Local echo,会出现重复的字符

建议:

如果串口另一端没有开启回显,软件选中Local echo,否则看不见自己输入什么

如果串口另一端开启回显,软件不选中Local echo,否则软件界面会出现重复的字符

2、Line wrap        : press 'enter' to send '\r'(0x0D), go back to the beginning of a line

3、New line mode : press 'enter' to send '\n'(0x0A),  newline

 4、在SecureCRT中,CR('\r'、0x0D)表示回到一行的最前端,LF('\n'、0x0A)表示换行(在下一行的最后端,绝大多数情况下一行为空,所以LF作用也是换到下一行的最前端)

1、如果没选中Translate incoming CR to CR/LF,软件收到0x0D、0x0D、0x0A仅表示换到下一行的最前端

2、如果选择Translate incoming CR to CR/LF,软件收到0x0D、0x0D、0x0A表示换了两行;软件收到0x0D、0x0A同样表示换了两行

 

转载于:https://www.cnblogs.com/god-of-death/p/6172095.html

### 银尔达 Air780 4G 模块与 MQTT 协议的集成方法 银尔达 Air780 是一款功能强大的 4G LTE 模块,广泛应用于物联网领域。为了实现其与 MQTT 协议的有效集成,可以通过 AT 命令完成网络连接、客户端初始化以及消息发布和订阅等功能。 #### 1. 硬件准备 在开始之前,需准备好以下硬件组件: - **Air780EP 开发板 (EVB_Air780EP)**:提供完整的开发环境和支持 4G 功能[^1]。 - 天线:用于信号接收。 - SIM 卡:支持 4G 的运营商卡。 #### 2. 软件工具 - **串口调试工具**:如 SecureCRT 或 Xshell,用于发送 AT 命令并查看返回结果。 - **阿里云 IoT 平台账户**:创建产品和设备实例,并获取三元组信息(ProductKey, DeviceName, DeviceSecret)[^2]。 #### 3. 连接至互联网 使用以下命令序列建立 PDP 上下文并激活 GPRS 数据服务: ```plaintext AT+CFUN=1 // 启用模块全功能模式 AT+COPS=? // 查询可用运营商列表 AT+COPS=<n>,<mode> // 设置当前运营商 AT+CGACT=1,<cid> // 激活指定 CID 的上下文 ``` 其中 `<cid>` 表示上下文 ID,默认为 `1`;上述操作完成后可通过 `AT+CIICR` 和 `AT+CIFSR` 获取 IP 地址。 #### 4. 初始化 MQTT 客户端 定义目标服务器地址及端口号后执行如下指令来启动会话: ```plaintext AT+SMCONF="URL",<mqtt_server_address>,<port> AT+SMCONF="CLIENTID",<client_id> AT+SMCONN // 发起连接请求 ``` 注意替换占位符参数以匹配实际部署情况下的具体数值[^3]。 #### 5. 订阅主题与发布消息 一旦成功建立了到代理节点之间的链路,则可继续设置监听频道或者广播通知: ##### (1)订阅特定主题 ```plaintext AT+SMSUB="<topic>",<qos_level> ``` ##### (2)向某主题推送数据包 ```plaintext AT+SMPUB="<target_topic>",<payload_length>,<retained_flag>,<qos_setting> <payload_data> ``` 以上两步均涉及 QoS 层次的选择,请依据业务需求决定采用何种级别保障机制。 #### 示例代码片段 以下是基于前述理论构建的一个简单交互流程演示脚本: ```python import serial ser = serial.Serial('COMX', 9600) def send_at(command): ser.write((command + '\r\n').encode()) response = '' while True: line = ser.readline().decode() if 'OK' in line or 'ERROR' in line: break response += line return response.strip() send_at('AT+CFUN=1') # Enable full functionality mode. print(send_at('AT+COPS=?')) # Query available operators list. # Assume operator selection has been done correctly here... send_at('AT+CGACT=1,1') # Activate context id 1 with cid also set as one. ip_addr = send_at('AT+CIFSR') if ip_addr.startswith('+CME ERROR'): raise Exception("Failed to obtain valid IP address.") broker_info = { "url": "<your_mqtt_broker>", "port": 1883, "clientId": "<unique_client_identifier>" } for key, value in broker_info.items(): cmd = f'AT+SMCONF="{key}",{value}' result = send_at(cmd) print(f'{cmd}: {result}') connection_status = send_at('AT+SMCONN') assert connection_status == 'CONNECTED' subscription_result = send_at('AT+SMSUB="/test/topic",0') message_publishing_outcome = send_at('AT+SMPUB="/another/topic",12,0,0\r\nHelloWorld!') ``` 此 Python 脚本模拟了一个典型场景中的自动化控制过程,展示了如何通过程序化手段调用底层 API 实现预期目的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值