Serial.println sur plusieurs fichiers

Bonjour à tous,

J'essaye de debuguer un programme composé de plusieurs et pour cela j'utilise le moniteur série. L'objectif est de vérifier certaines fonctions (si elle font bien leur job) . Si dans le fichier ino j'utilise Serial.begin(9600) et Serial.println, là ça fonctionne. J'ai bien quelque chose qui s'affiche.

Jusque là , pas de soucis. Sauf que si j'écris ces 2 lignes de codes dans les autres fichiers, rien ne s'affiche sur le moniteur. J'ai pourtant inclus la librairie SoftwareSerial dans les fichiers correspond.
Pourquoi rien ne s'affiche si j'insère les 2 fonctions (begin et println) ?
Merci par avance pour vos réponse.

PS:
J'utilise un arduino uno R3 sous windows 11

Bonjour,

Serial.begin() n’apparaît, en principe, qu'une fois dans le programme. En général dans le setup().

Serial.print() peut être utilisé n'importe où.
Donne un exemple de ton code qui ne fonctionne pas.
Tu utilises Serial, pourquoi parles-tu de SoftwareSerial?

Merci fdufnews pour ta réponse;

Dans le fichier ino mais dans un des fichiers (Serial.cpp) par exemple où je veux débuguer mon code rien ne s'affiche.

Dans le fichier Serial.cpp j'ai une fonction qui s'appelle receiveVariable (non terminé)
int Serial::receiveVariable(String label, byte rx)
{
  int val=0;
  Serial.println ("receiveVariable");           //rien ne s'affiche sur le moniteur
  return val;
}

Merci.

PS:
J'utilise l'IDE 1.6.5
Je parlais de la librairie SoftwareSerial car je pensais qu'il fallait l'inclure dans le ino.

Essayez #include<arduino.h> peut être dans votre fichier .cpp ou plutôt d'en-tête .h...

Bonsoir
peut être que simplement ca ne passe pas par la .. donc ca s’affiche pas .

Et tu n'as pas de message d'erreur lors de la compilation?

SoftwareSerial permet de mettre en place une émulation de liaison série sur n'importe quelles I/Os. Si tu utilises la liaison "standard" ce n'est pas nécessaire.

Cet IDE date un peu. On en est à 1.8.19 et les premières version stables de la 2.0 sont sorties il y a un mois environ.

Alors j'ai essayé d'inclure la librairie arduino mais ça ne marche pas.
Effectivement, c'est une réponse de dire que ça ne passe pas par là.
Et oui, ma version est ancienne et demain je passe à la 2.0. On verra bien !
Merci à vous tous.

Bonjour,

Je ne comprend pas ce que tu essaies de faire.
Tu essaies de surcharger la class Serial ?
Tu as créé une class qui porte le même nom que la class Serial du framework ?
Dans les deux cas ça ne peut pas fonctionner.

Merci Kamill.
Non du tout. C'est ni l'un ni l'autre c'est simplement une class que j'ai appelé Serial comme j'aurais pu l'appeler TSerie.
J'essaie tout simplement de debuguer mon programme composé de plusieurs fichiers et je voulais utiliser le moniteur série pour voir si mes fonctions me retournent les bonnes valeurs. Voilà.

Bonjour @SLIMOUNE
Donc il y a un 3 fichiers :

  • ino
  • .h
  • .cpp

C'est bien ça ?

Bonjour Philippe,

Tout à fait, il y a 3 fichiers et peut-être plus (.cpp+.h).

Je debug moi aussi mes classes dans mes fichiers cpp avec des Serial.print mais j'ai :

  • un fichier d'entête .h qui à minima inclut arduino.h
  • et mon fichier .cpp qui inclut le fichier .h

Je suis sous l'IDE 1.8.19 et ça fonctionne parfaitement.

On est d'accord. Là je ne plus tester mais je refais un test cet après-midi et refait à minima le programme et on verra bien.
Je vous tiens au courant.
Merci Philippe.

Tu ne peux pas avoir deux class qui portent le même nom dans le même namespace