Arduino AX.25协议干扰发送数据包
我很抱歉不能为这个问题提供代码,但这更符合逻辑。我对AX.25协议的终止顺序是111111,即6个1。因此,如果在我的数据包中发现这个1序列,它将表示包文件的结尾,并在不正确发送包的其余部分的情况下发送它。我会尽我所能解释我的结论和测试结果,以便你们能理解我的困境 ***在Arduino中编程****** 字节1包含8位。看下面并尝试在一个矩形框中描绘一个字节。紧挨着它的是字节2,它也包含8位。 情景1: ||_1_0_1_1_0_1_0||u 1_1_1_1_0|_|| 尝试的解决方案1:您可以简单地将1更改为0并跟踪它 情景2: ||_1_0_1_1_0_1_1_1_1_1_1_0_1_0_124; 尝试的解决方案2:尝试的解决方案1中断。我被困在这里 单独使用这些字节不会激活AX.25终止序列,但组合使用这些字节会导致问题 以下是可能的案例列表: 1六个1s=数据包结束时激活的终止序列 2数据包实际数据内6个1=提前终止 3如果将1更改为0,则在恢复更改时,六个0的顺序可能会出现问题 由于内存限制,4一次只能读取1个字节的EEPROM 5如果两个字节之间出现六个1,也会过早激活终止序列Arduino AX.25协议干扰发送数据包,arduino,logic,sequence,termination,Arduino,Logic,Sequence,Termination,我很抱歉不能为这个问题提供代码,但这更符合逻辑。我对AX.25协议的终止顺序是111111,即6个1。因此,如果在我的数据包中发现这个1序列,它将表示包文件的结尾,并在不正确发送包的其余部分的情况下发送它。我会尽我所能解释我的结论和测试结果,以便你们能理解我的困境 ***在Arduino中编程****** 字节1包含8位。看下面并尝试在一个矩形框中描绘一个字节。紧挨着它的是字节2,它也包含8位。 情景1: ||_1_0_1_1_0_1_0||u 1_1_1_1_0|_|| 尝试的解决方案1:您可
提前感谢您提供的任何帮助。ax.25协议要求的解决方案是位填充 从概念上讲,每当接收机看到五个连续的一位和一个零位时,它都假定发送方已经填充了零位以分解数据中的错误帧序列,并在发送接收到的数据之前将其移除。六个1位中唯一可以未填充发送的序列是帧序列;所有数据都已发送。接受者必须总是去塞满东西 填充或取消填充通常需要几个字节的工作ram或几个字节的寄存器,尽管可能有一些创造性的方法 引用官方TAPR协议标准: 为了确保上述标志位序列不会意外地出现在帧中的任何其他位置,发送站监控由五个或更多连续“1”位组成的组的位序列。每当发送五个连续的“1”位时,发送站在第五个“1”位之后插入一个“0”位。在帧接收期间,每当接收到五个连续的“1”位时,紧跟在五个“1”位之后的“0”位被丢弃 谷歌搜索AX.25位填料应该会返回您可能需要的详细信息