范德萨发额 发表于 2023-7-24 16:08

航顺的串口自适应波特率实现通常是通过以下步骤

预设波特率: 在通信开始之前,将串口波特率预设为一个合理的初始值,通常是一个较常见的标准波特率,比如9600、115200等。

范德萨发额 发表于 2023-7-24 16:08

发送握手信号: 串口通信的一方发送握手信号给另一方。握手信号可以是一个预定的特殊字符或字符串,表示**进行波特率自适应。

范德萨发额 发表于 2023-7-24 16:08

等待回应: 发送握手信号后,等待另一方的回应。如果另一方也支持自适应波特率,它会发送回应信号。

范德萨发额 发表于 2023-7-24 16:08

改变波特率: 收到回应信号后,双方同时改变串口波特率为一个新的值。这个新的值可以事先约定好,也可以由双方共同协商得出。

范德萨发额 发表于 2023-7-24 16:08

确认通信: 改变波特率后,双方进行通信确认。可以发送一个测试数据包来确认通信是否正常。

范德萨发额 发表于 2023-7-24 16:08

重试机制: 如果通信确认失败,可以回滚到预设波特率,并重新进行自适应波特率的尝试,直到通信成功为止。

范德萨发额 发表于 2023-7-24 16:08

需要注意的是,串口自适应波特率需要双方支持,并且在通信之前要事先约定好相应的握手信号、回应信号和新的波特率值。此外,为了避免通信过程中出现混乱,可以使用一些特殊字符或者通信帧结构来标识握手和通信确认的状态。

范德萨发额 发表于 2023-7-24 16:09

航顺会在其串口通信库或文档中提供具体的自适应波特率实现方法和示例代码,可以查找来学习参考。

tpgf 发表于 2023-8-9 18:22

我觉得这样是不好的因为万一不能正常识别呢?

yangxiaor520 发表于 2023-8-9 19:08

自适应波特率很实用

nawu 发表于 2023-8-10 09:19

楼主说的这个步骤的前提是对波特率有一个预期值

aoyi 发表于 2023-8-10 09:53

也就是说一开始的时候波特率是知道的 在发送数据的时候告诉对方我将要把波特率修改什么是吗

tfqi 发表于 2023-8-10 11:50

这是一个非常不错比较简单的自适应的方法

磨砂 发表于 2023-8-10 12:11

这应该是通过通讯来获取波特率了

晓伍 发表于 2023-8-10 14:58

这种数据的交互必须要有应答才能保证正常修改波特率
页: [1]
查看完整版本: 航顺的串口自适应波特率实现通常是通过以下步骤