Aller au contenu


Photo
- - - - -

Raspberry Pi -> Arduino USB C++

rs232 Tx Rx Arduino Raspberry Pi 3 C++

44 réponses à ce sujet

#41 Oliver17

Oliver17

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 758 messages
  • Gender:Male
  • Interests:Glenn

Posté 08 décembre 2017 - 01:00

Bah c'est la moindre des choses, en espérant que cela aide des Maker's ^^


signature_01.png -->

 

Mon Tipeee
 


#42 Oliver17

Oliver17

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 758 messages
  • Gender:Male
  • Interests:Glenn

Posté 09 décembre 2017 - 06:03

Hop, la même chose en C++ :

 

On garde le même code sur Arduino.

En revanche si vous mettez un delay à la fin du while, qu'il ne soit long sinon on perds des bytes...

 

Code arduino :

void setup() {
  Serial.begin(9600);
}
void loop() {
  while (Serial.available() > 0) { // if any data available
    char incomingByte = Serial.read(); // read byte
    Serial.write(incomingByte); // send it back
  }
  delay (10); //Si vous le mettez à 1000 (1sec) on perd des données.
}

Code c++ sur le raspberry :

#include <iostream>
#include "rs232.h"

#define BUF_SIZE 128

using namespace std;

int main()
{
    int cport_nr(0); // 0 = ttyS0
    int bdrate(9600); // Baud
    char mode []={'8','N','1',0}; // 8 data bits, no parity, 1 stop bit
    char str_send[BUF_SIZE];
   
    unsigned char str_recv[BUF_SIZE]; // recv data buffer
    strcpy(str_send, "Coucou robot maker plop plop plop un message bien long, il en faut ^^ @°&$----- 1234567890.");

    if (RS232_OpenComport(cport_nr, bdrate, mode)) // Ouvre le port.
    {
        cout <<"Ne peut pas ouvrir le port com."<< endl;
        return 0;
    }

    cout << "Raspberry connecté : "<< endl;

    while(1)
    {
        RS232_cputs(cport_nr, str_send); // Envoie une chaîne via le port série.
        cout <<"Envoie à Arduino : " << str_send << endl;
        sleep(1);

        int n = RS232_PollComport(cport_nr, str_recv, BUF_SIZE); // Obtient des caractères du port série.
        if (n > 0)
        {
            str_recv[n] = 0; // always put a "null" at the end of a string
            cout <<"Reçu : "<< n <<" bytes. " << endl;
            cout << str_recv << endl;
        }
    }
    return 0;
}

Résultat :

Raspberry connecté :
Envoie à Arduino : Coucou robot maker plop plop plop un message bien long, il en faut ^^ @°&$----- 1234567890.
Reçu : 92 bytes.
Coucou robot maker plop plop plop un message bien long, il en faut ^^ @°&$----- 1234567890.
Envoie à Arduino : Coucou robot maker plop plop plop un message bien long, il en faut ^^ @°&$----- 1234567890.
Reçu : 92 bytes.
Coucou robot maker plop plop plop un message bien long, il en faut ^^ @°&$----- 1234567890.
Envoie à Arduino : Coucou robot maker plop plop plop un message bien long, il en faut ^^ @°&$----- 1234567890.
Reçu : 92 bytes.
Coucou robot maker plop plop plop un message bien long, il en faut ^^ @°&$----- 1234567890.
Envoie à Arduino : Coucou robot maker plop plop plop un message bien long, il en faut ^^ @°&$----- 1234567890.
Reçu : 92 bytes.
Coucou robot maker plop plop plop un message bien long, il en faut ^^ @°&$----- 1234567890.
Envoie à Arduino : Coucou robot maker plop plop plop un message bien long, il en faut ^^ @°&$----- 1234567890.
Reçu : 92 bytes.
Coucou robot maker plop plop plop un message bien long, il en faut ^^ @°&$----- 1234567890.
Envoie à Arduino : Coucou robot maker plop plop plop un message bien long, il en faut ^^ @°&$----- 1234567890.
Reçu : 92 bytes.
Coucou robot maker plop plop plop un message bien long, il en faut ^^ @°&$----- 1234567890.
Envoie à Arduino : Coucou robot maker plop plop plop un message bien long, il en faut ^^ @°&$----- 1234567890.
Reçu : 92 bytes.
Coucou robot maker plop plop plop un message bien long, il en faut ^^ @°&$----- 1234567890.
Envoie à Arduino : Coucou robot maker plop plop plop un message bien long, il en faut ^^ @°&$----- 1234567890.
Reçu : 92 bytes.
Coucou robot maker plop plop plop un message bien long, il en faut ^^ @°&$----- 1234567890.
Envoie à Arduino : Coucou robot maker plop plop plop un message bien long, il en faut ^^ @°&$----- 1234567890.
Reçu : 92 bytes.
Coucou robot maker plop plop plop un message bien long, il en faut ^^ @°&$----- 1234567890.
Envoie à Arduino : Coucou robot maker plop plop plop un message bien long, il en faut ^^ @°&$----- 1234567890.
Reçu : 92 bytes.
Coucou robot maker plop plop plop un message bien long, il en faut ^^ @°&$----- 1234567890.
Envoie à Arduino : Coucou robot maker plop plop plop un message bien long, il en faut ^^ @°&$----- 1234567890.
^C

Voilou ^^


signature_01.png -->

 

Mon Tipeee
 


#43 Melmet

Melmet

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 519 messages
  • Gender:Male
  • Location:Saint-Sozy (46200)

Posté 09 décembre 2017 - 06:21

Content de te voir respirer :) ^^


Ne demande jamais à un robot de faire ce que tu peux faire toi même. :nono: :laugh1:


#44 Oliver17

Oliver17

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 758 messages
  • Gender:Male
  • Interests:Glenn

Posté 09 décembre 2017 - 06:27

Tu imagines même pas le poids en moins que ça m'a fait lol ^^

Mais j'espère que d'autres vont s'en servir...


signature_01.png -->

 

Mon Tipeee
 


#45 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 934 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 26 mars 2018 - 11:01

Oui d'autres vont s'en servir vu que tu as crée un sujet dédié je vais pouvoir pointer sur ce sujet ;)


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 




Répondre à ce sujet



  



Aussi étiqueté avec au moins un de ces mots-clés : rs232, Tx Rx, Arduino, Raspberry Pi 3, C++

0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users