gpt4 book ai didi

python - arduino和树莓派串口速度慢

转载 作者:太空宇宙 更新时间:2023-11-03 15:52:01 26 4
gpt4 key购买 nike

我有应用程序使用串行端口将数据从odroid xu4发送到Arduino pro mini,数据是10字节的包,我使用“Serial_Port.write(struct.pack('cBBBBBBBBB', "R", cmd [0]、cmd[1]、cmd[2]、cmd[3]、cmd[4]、cmd[5]、cmd[6]、cmd[7]、cmd[8]))"odroid 每 20 毫秒(50Hz)发送两个包,在 arduino 上这是代码:

ARDUINO 代码:

#include <Wire.h>

char CMD[] = {' ',' ',' ',' ',' ',' ',' ',' ',' ',' '};
char hand;

void setup() {
Serial.begin(115200);
Serial.setTimeout(10);
Serial.println("Arduinno serial to I2C converter 115200");
}

void loop() {
if (Serial.available() == 10) {
Serial.readBytes(CMD, 10);
Serial.println(CMD);
}
}

我使用两个 XBee PRO S2C 将数据从 XU4 传输到 Arduino,我使用 Tx Rx 引脚将 XBee 与 XU4 连接,端口:'/dev/ttySAC0'。

当我运行程序时,Arduino 仅接收前两到三帧数据,然后它停止工作,直到我按下重置按钮。任何人都可以帮助我解决这个问题,我花了很多时间寻找解决方案,但没有好的结果。我也尝试用树莓派 B+ 替换 Arduino,但同样的问题。

最佳答案

不是 arduino 专家,但我建议改变

if (Serial.available() == 10) {

if (Serial.available() >= 10) {

当前代码依赖于恰好有一条消息可用。如果 Python 代码设法在后续读取之间的时间内发送两条消息,则当前代码将失败。

关于python - arduino和树莓派串口速度慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41198998/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com