Go Down

Topic: Envoie de donné par "serial" (Read 1 time) previous topic - next topic

Talus

oui ca l'envoie sur la console, si on ouvre la console ^^
si on la laisse fermer ca laisse le port COM libre pour qu'un autre programme puissent l'utiliser

par exemple moi je faite mes interfaçage avec l'ordi en C et C++

PS pour tes entier tu pourrais même utiliser des entier non signer (unsigned int), a moins que tu puissent avoir des temps negatif

ekaki

Si ce sont des 'int' que tu envoies, d'expérience :
Code: [Select]
int T = ?;  // avec pour ? la valeur, bien entendu
void setup()
{
  Serial.begin(9600);  // etc.
}
void loop()
{
  Serial.print("T = ");
  Serial.println(T);  // println pour le retour chariot
}

Cela devrait fonctionner.

Après, si c'est pour envoyer autrement que par le port série sur un autre port série; par exemple pour envoyer sur un LCD série cela ne fonctionnera pas, il faudra transformer le contenu de la variable en 'char' et gérer avec un buffer le transfert.
Il me semble aussi qu'en utilisant la librairie "serial" cela ne soit aussi simple que dans mon exemple (à confirmer par un spécialiste).

fdufnews

Quote
Les temps T1 et T2 me sont renvoyé par la fonction  micros().
T1 et T2 sont défini comme des entier ( Int).

Pour info, micros( )retourne des unsigned long.

Qly1

Merci a tous sa marche enfin.
Le probleme était que j'utilisais la fonction serial.write au lieu de serial.print.
En effet je pensais que serial.print ne permettait que d'afficher la valeur dans la console sans possibilitée de la récupérer.



Super_Cinci

j'ai galéré quelques heures avec un dialogue série entre un arduino et VB6. C'est au niveau du récepteur qu'il faut traiter la donnée en nombre, car '*' ou 42, sur le port série, ce sera toujours 42 qui sera envoyé. Si ton soft qui la récupère traite en ascii, alors tu auras '*', mais si tu vas un peu plus dans le hard, tu retrouveras ton 42.

Pour info, VB6 ne traite le port série qu'en word (ou 16 bits) par défaut. Il faut donc imposer quelque part de traiter les données dès la réception (ou émission)... en byte...

Go Up