[Résolu] Désactiver le reset au lancement du moniteur série

Hello à tous,

Lorsque j'ouvre le Serial monitor de l'IDE ou lorsque je lance un émulateur de terminal comme putty, un reset est effectué sur ma UNO et donc le programme redémarre. "J'espère" que c'est le fonctionnement normal?

Mon problème c'est que je souhaite à terme faire tourner ma carte sans connexion avec mon PC mais j'aimerais pouvoir m'y connecter de temps en temps pour vérifier qu'il n'y a pas de message de débogage sans que les variables soient réinitialisées.

Est-il possible de désactiver ce reset lorsqu'on écoute le port série?

De plus, je ne comprend pas comment cela est possible.
Si un programme écoute un port série, comment le périphérique qui y est connecté détecte cette écoute?

Et pourquoi?

Merci

C'est le fonctionnement normal. C'est parce que quand tu utilises le port serie par la connection USB de ta carte arduino, il y a d'autres pins connectés que les seuls TX et RX. C'est pour cela que quel que soit le programme que tu utilises, un signal est envoyé sur le pin DTS (je crois) du FTDI et provoque un reset. Pour éviter cela, soit tu déconnectes ce pin (c'est expliqué sur le forum anglais, je crois que c'est une capacité à enlever) sur la carte soit tu écoutes ton port série en passant par un autre port série connecté uniquement aux pins TX et RX (voire TX seulement) de la carte arduino (en plus de la masse).

Hélas non, c'est au niveau PC qu'il faut intervenir. J'ai fait plusieurs progs qui tournent en standalone avec possibilité de dialogue par série. voilà comment ça se passe chez moi :

  • alimentation de l'arduino en stand alone : le prog démarre et s'exécute, normal jusque là.
  • un branche l'USB (quand on veut) : le prog tourne toujours, pas de changements.
  • je démarre mon appli PC (en VB6) qui ouvre le port série PC : l'arduino tourne toujours et ne sait toujours pas qu'il est relié au PC.
  • l'appli PC "cause" sur le port série : si l'arduino a ouvert son port série aussi, il entend et peut répondre.

Dans tout ça, l'arduino n'a fait qu'un seul reset : au moment de son alimentation, c'est tout.

C'est bien le terminal de l'ide arduino qui déclenche un reset, car il n'utilise pas un port série virtuel comme mon appli PC, mais directement l'USB. il est impossible d'ordonner un reset uniquement via port série, à moins que cette fonction soit programmée par l'utilisateur dans l'arduino.

as-tu essayé via l'hyper terminal windows? sinon, il doit bien exister un terminal série tout simple à télécharger...

Yep!

Il existe des solutions software.

La solution hardware est spécifié dans la page de réference.

You may also be able to disable the auto-reset by connecting a 110 ohm resistor from 5V to the reset line

@+

Zoroastre.

Oui, mais ça veut dire qu'on perd aussi l'autoreset à l'upload, non?

Faut regarder le côté d'un terminal "extérieur", car avec celui de l'arduino, il est très compliqué d'envoyer des données numériques, puisqu'on ne peut envoyer que des caractères (comment envoyer ou même recevoir la valeur numérique 0 par exemple?)...

J'avais dans l'idée d'en faire un justement pour pouvoir envoyer des données en série à l'arduino (décimal, hexa, binaire, caractères...) un jour sûrement je m'y mettrai...

Super_Cinci:
Oui, mais ça veut dire qu'on perd aussi l'autoreset à l'upload, non?

Faut regarder le côté d'un terminal "extérieur", car avec celui de l'arduino, il est très compliqué d'envoyer des données numériques, puisqu'on ne peut envoyer que des caractères (comment envoyer ou même recevoir la valeur numérique 0 par exemple?)...

J'avais dans l'idée d'en faire un justement pour pouvoir envoyer des données en série à l'arduino (décimal, hexa, binaire, caractères...) un jour sûrement je m'y mettrai...

bonjour
pour info
un terminal usart sympa avec pas mal d'options est celui fourni avec tous les compilo de chez mikroelectronica.

le seul inconvénient (encore que) est qu'il faut installer tout le soft, l'outil n'est pas disponible en stand alone

Yep!

Oui, mais ça veut dire qu'on perd aussi l'autoreset à l'upload, non?

Oui. Il faut du coup enlever la résistance pour uploader à nouveau. (EDIT : Skywood a raison : Le bouton reset est tjrs ok)

J'ai la solution sous linux ou python ici :

Il faut modifié les paramètres de gestion du port série. Je pense également qu'un regard du côté de la librairie arduino peut être une piste.

@+

Zoroastre.

Bonjour,

Pour désactiver l'auto-reset il est possible de mettre une résistance de >100ohm entre reset et VCC, mais cela empêchera l'upload avec reset auto (logique), il faudra donc appuyer sur reset lors de l'upload.

Sinon il existe un excellent logiciel, gratuit, et trés puissant : terminalbpp disponible ici : Terminal
Il ne déclenche pas de reset au démarage (il faut cliquer sur le bouton "DTS" pour faire un reset) et supporte plein de bonne chose comme le traçage de graph à partir de données au format csv, un "remote controle" par telnet, etc etc...
C'est un logiciel trés puissant que je recommande vivement !

Nickel,

Je vais changer de Terminal.

Grand merci à vous