问题描述
我已经用逻辑分析仪读取了控制器的TX。我知道它可以在1200波特下工作,我已经根据这张照片确定了帧:
我已经在框架中找到了
- 1个字节-始终为54
- 2byte-顺序,每帧++
- 3字节-始终为0
- 4、5和6字节-数据
- 7字节-始终为0
- 8、9、10和11-数据
- 12、13、14和15-不同(我知道15是校验和)
我无法识别校验和(我怀疑Checksum8 Xor由于与另一个控制器相似)。
我尝试使用Arduino将每个字节移到Array的位置,因为知道第一个字节是常数(54),并且帧始终是相同长度。
难道是因为Arduino循环的速度快于Serial循环,所以它会在每个阵列的所有位置复制数据?
寻找信息时,我读到当我创建Serial.print时,它可以正常工作(每个字节都不会重复,但是当我使用while(Serial.available())编写数组时,它将失败。
我留下一些通过arduino获得的帧:
#include <Arduino.h>
void setup() {
Serial.begin(9600);
Serial1.begin(1200);
}
void loop() {
if (Serial1.available()) {
int test= Serial1.read();
Serial.println(test);
}
}
54 154 0 84 84 84 0 84 84 84 84 201 133 84 224
54 155 0 89 89 89 0 89 89 89 89 206 138 89 233
54 156 0 2 2 2 0 2 2 2 2 119 51 2 238
54 157 0 7 7 7 0 7 7 7 7 124 56 7 239
54 158 0 0 0 0 0 0 0 0 0 117 49 0 236
54 159 0 5 5 5 0 5 5 5 5 122 54 5 229
欢迎任何帮助 非常感谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)