Affichage "problématique" moniteur série sur Mac

Bonjour, lorsque j'utilise que je veux utiliser le moniteur série de l'interface admin au il est inutilisable parce que son affichage est complètement illisible, et que lorsque j'essaye d'envoyer une réponse à la demande celle-ci ne semble pas prise en compte.
Je ne trouve aucun réglage permettant de remédier à ceci.
Quelqu'un peut-il m'aider ?
Merci

Bonjour,

Est-ce que la vitesse de transmission (en bas à droite du moniteur série) correspond à celle définie dans le programme ?

pour préciser

--> donc regardez le Serial.begin(xxxx) dans votre code et il faut mettre xxxx comme débit dans la console Série. (115200 c'est bien des deux côtés)

C'est le shield de teleinfo voici le bout de code concerné..

et les caractères sont mal transmis (j'essaye de mettre l'horloge à l'heure...)

// ************** initialisation *******************************
void setup()
{
  // initialisation du port 0-1 lecture Téléinfo
  Serial.begin(1200);
  // parité paire E
  // 7 bits data
  UCSR0C = B00100100;
#ifdef message_système_USB
  Serial.print(F("-- Teleinfo USB Arduino "));
  Serial.print(version_logiciel);
  Serial.println(F(" --"));
#endif
  // initialisation des sorties selection compteur
  pinMode(LEC_CPT1, OUTPUT);
  pinMode(LEC_CPT2, OUTPUT);
  digitalWrite(LEC_CPT1, HIGH);
  digitalWrite(LEC_CPT2, LOW);

  // verification de la présence de la microSD et si elle est initialisée:
#ifdef message_système_USB
  if (!SD.begin(chipSelect)) {
    Serial.println(F("> Erreur carte, ou carte absente !"));
    return;
  }
  Serial.println(F("> microSD initialisee !"));
#endif

  // initialisation RTC
  Wire.begin();
  RTC.begin();

  if (! RTC.isrunning()) {
#ifdef message_système_USB
    Serial.println(F("RTC non configure !"));
#endif
  }

  DateTime now = RTC.now();     // lecture de l'horloge
  annee = now.year();
  mois = now.month();
  jour = now.day();
  heure = now.hour();
  minute = now.minute();
  jour_semaine = now.dayOfTheWeek();

  format_date_heure();
#ifdef message_système_USB
  Serial.println(date_heure);
#endif
}

// ************** boucle principale *******************************

void loop()                     // Programme en boucle
{

  if (!(RTC.isrunning()) && (reg_horloge < 7)) {      // si l'horloge n'est pas configurée
    digitalWrite(LEC_CPT1, LOW);
    if (!mem_reg_horloge) {
      switch (reg_horloge) { // debut de la structure
        case 1: Serial.print (F("Entrer Heure: "));
          break;
        case 2: Serial.print (F("Entrer Minute: "));
          break;
        case 3: Serial.print (F("Entrer Seconde: "));
          break;
        case 4: Serial.print (F("Entrer Jour: "));
          break;
        case 5: Serial.print (F("Entrer Mois: "));
          break;
        case 6: Serial.print (F("Entrer Annee 20xx: "));
          break;
      }
      mem_reg_horloge = true;
    }
    if (Serial.available() > 0) { // si caractère dans la file d'attente

expliquez ce qui est branché où et quel arduino vous avez, quels composants etc

se pourrait-il qu'il y ait un shield avec qui vous devez discuter sur le port Série et qui serait branché sur votre Arduino (genre lecture Téléinfo)


SVP - corrigez votre post ci dessus et rajoutez les code tags autour du code:
[code]`` [color=blue]// votre code ici[/color] ``[/code].

ça doit ressembler à cela:// votre code ici
(faites aussi ctrl-T (PC) or cmd-T (Mac) dans l'IDE avant de copier le code pour qu'il soit indenté correctement)

Oui c'est le TeleInfo que je veux mettre à l'heure...

Je ne vois pas de code tags ...

Désolé ce n'était pas "mon code" mais celui publié pour le shield TeleInfo et je ne le citais que pour montrer qu'il mettait le serial.begin à 1200 bauds.
Ensuite, quand on initialise l'horloge il y a un dialogue où successivement heure, minute, etc... sont demandées mais l'affichage fortement perturbé et le fait que ce que j'entre ne semble pas reçu font que rien ne se passe..

C'est la dernière version non modifiée de Teleinfo_Arduino_V0_3E que j'utilise...

Désolé ce n'était pas "mon code" mais celui publié pour le shield TeleInfo et je ne le citais que pour montrer qu'il mettait le serial.begin à 1200 bauds.

oui mais la présentation de votre post est toujours moche... :slight_smile:

moi ça me pique les yeux tellement que je ne peux plus réfléchir et apporter un éclairage....

J'ai remédié en partie...au problème de présentation...

Avec une autre carte et un autre sketch je n'ai pas le problème d'affichage, donc la solution est à trouver dans le code et le paramétrage du moniteur je pense, je vais chercher

merci...

Good :slight_smile: :slight_smile:

votre problème sans doute c'est que l'affichage sur le moniteur arrive par le port USB qui est connecté aux pins 0 et 1 (le port Serial) de votre carte --> si vous avez greffé sur ces pins 0 et 1 le shield TeleInfo pour qu'il utilise le port Série matériel alors vous vous retrouvez avec 2 ressources qui se partagent des pins... pas top (votre mac voit tout le traffic aussi du shield)

la solution --> ne plus faire d'affichage sur la console Série et dédier le port série matériel ) à votre shield TeleInfo et utiliser un LCD par exemple pour l'affichage ou créer une instance SoftwareSerial sur d'autres pins pour parler au shield par ce biais là.

Si vous avez une Mega, alors elle a plusieurs ports séries matériel et vous pourriez connecter le Serial1 au shield Teleinfo et garder Serial pour afficher dans la console Série de votre Ordinateur

Oui, comme j'ai acheté un "lot carte + shield" et que le code était proposé avec je supposais probablement hâtivement que le « mode d'emploi » était utilisable directement.
Ce n'est apparemment pas le cas, en particulier pour la mise à l'heure de l'horloge.
Comme je suis très débutant je vais essayer de digérer tout cela.
La carte n'est pas une méga mais une carte UNO R3.
Merci encore.

jaladuvar:
Oui, comme j'ai acheté un "lot carte + shield" et que le code était proposé avec

--> genre ce truc là ?

il se peut que leur carte/code écoute sur la pin RX de l'arduino et écrive sur le Tx vers l'USB -
dans ce cas il ne faut rien envoyer depuis la console à l'arduino

Oui c'est ce truc là...
Si je ne dois pas envoyer par la console comment dois-je m'y prendre ?

Vous ne le faite pas :slight_smile:

Sinon il faut passer en Software Serial pour interagir avec le shield et branchez sur d'autres pins

Si je comprends bien le "mode d'emploi" n'est pas exact puisqu'il semble indiquer que la mise à l'heure de l'horloge (indispensable au fonctionnement) se fait dans une succession de questions réponses
heure ? - je suppose attente de réponse mais là je bloque
après il est prévu minutes, secondes, jour, mois, année

puis remise de pile et cavalier de programmation...

mais un contrôle sur l'horloge en fonctionnement "normal" fait que si elle n'est pas conforme on est obligé de repasser par l'initialisation...

Nulle part il n'est dit que des branchements spécifiques autres sont à prévoir.

Voici ce que dit le "mode d'emploi"

v0.3a * Fonction de mise à l'heure par l'usb (interface série) en 1200 bauds 7 bits parité pair
                      Procédure:
                      1- carte débranchée, enlevez la pile de son support (pour réinitialiser l'horloge)
                      2- enlevez le cavalier du shield téléinfo
                      3- configurer votre logiciel émulateur de terminal (termite,Hyperterminale...) en 1200 bauds 7 bits parité pair
                      4- mettre sous tension la carte.
                      -- Le programme détectera le reset de l'horloge et vous demandera de rentrer l'heure et la date. --

1- carte débranchée, enlevez la pile de son support (pour réinitialiser l'horloge)
2- enlevez le cavalier du shield téléinfo

--> pour mettre à l'heure ils débranchent le shield et donc le port série est entièrement dispo, ensuite la pile maintient l'heure donc ce processus n'est plus nécessaire

Une fois que vous remettez le cavalier d'activation du shield, il ne faut plus mettre à l'heure l'horloge

Oui, mais le moniteur série ne permet pas le dialogue ???

lien sur la doc ?