PlatformIO Community

Comunication série entre deux raspberry pi pico

Bonjour,

Je souhaite communiquer entre deux raspberry pi pico que je programme en C++ sur platform IO. J’ai connecté les deux pico ensemble. Les UART des deux pico sont l’UART 1 et les pates TX sont connectés respectivement au RX de l’autres. Les GND sont aussi connectés ensemble.

Pico 1 :

#include <Arduino.h>
#include <HardwareSerial.h>

byte buffer_envoi[2] {0x00, 0x00};

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  Serial1.begin(9600);
}

void loop() {
  buffer_envoi[0] = 0x01;
  Serial1.write(buffer_envoi, 2);
  Serial1.flush();
  digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
  delay(2000);
  buffer_envoi[0] = 0x02;
  Serial1.write(buffer_envoi, 2);
  Serial1.flush();
  digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
  delay(2000);
}

Pico 2 :

#include <Arduino.h>
#include <HardwareSerial.h>

byte buffer_recep[2];

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  Serial1.begin(9600);
}

void loop() {
  if(Serial1.available())
  {
    Serial1.readBytes(buffer_recep, 2);
    if(buffer_recep[0] == 0x01)
    {
      digitalWrite(LED_BUILTIN, HIGH);
    }
    else if(buffer_recep[0] == 0x02)
    {
      digitalWrite(LED_BUILTIN, LOW);
    }
  }
}

merci d’avance.

Try this on Pico 2:

Serial1.readBytes(buffer_recep, 1);

Cela ne fonctionne pas.
Je ne sais pas comment activer le dtr depuis le Pico 1