Bonsoir à tous,
Je compte utiliser un petite carte ARDUINO nano avec une liaison Rs232 sur un PC par l'intermediaire d'une adaptation avec un circuit MAX232.
Puis je utiliser la librairie Serial ou suis-je obligé d'utiliser la librairie NewSoftSerial pour communiquer sur les pins Tx/Rx de la nano ?
Merci pour vos réponses
Sur les pin TX/RX c'est Serial qu'il faut utiliser.
NewSoftSerial est nécessaire lorsque tu utilises les broches qui ne sont pas connectées à une UART matérielle.
De plus, depuis l'IDE 1.0, NewSoftSerial est remplacé par SoftSerial
Merci pour vos réponses
Je voudrai quand même bien confirmer
Je connecte TX/RX de ma petite nano au max232 , qui lui meme sera connecté à un adaptateur USB/série sur un PC ou sur un simple port Rs232 et avec Serial je peux faire communiquer ce petit monde ?
N y a t il pas conflit avec le port com virtuel créé par la nano avec l'usb?
En tout cas merci encore pour vos éclaircissements
++
Oups
Si bien sur
Il y a déjà un port série/USB sur la Nano
Si c'est pour faire un 2nd port série, alors oui, il faut utiliser SoftSerial mais sur des pins différentes que TX/RX puisque TX/RX sont déjà reliées au port série.
Et je suppose que tu veux les 2 (le port USB et un port série supplémentaire)
Yo
En fait je veux juste un port série (qui sera connecte au pc) mais pas par l'usb.
Est ce possible ?
++
En fait la nano sera alimentée par Vin et pas par le port USB
Y aurait il quand même un conflit avec e Tx/Rx de la carte ?
++
Je ne parle pas d'alimentation je parle de port série.
TX/RX sont déjà utilisés pour le port série relié au port USB.
Serial fonctionne avec le port série TX/RX
Pourquoi ne pas utiliser celui-ci pour communiquer avec le PC plutot que SoftSerial qui est moins performant?
Je suis tout à fait d'accord avec toi, mais la liaison prévue est sur un système qui ne possède qu'un port RS232 et pas d'USB
D'où ma question est ce que Tx/Rx de la nano via un max232 connecté au système avec son port RS232, je peux utiliser Serial ?
Il faut que je verifie le schema de la nano.
Il y a probablement des résistances série entre le FTDI et l'Atmega.
Dans ce cas, c'est oui.
Edit: je confirme, il y a 2 resistances de 1K donc c'est ok.
Attention, tu ne pourras pas utiliser l'usb si le reste du circuit est branché sur tx/rx. Il faudra debrancher.
Sinon tu peux aussi t'orienter vers la Mini qui n'a pas de pot usb inclus.
Bonsoir barbudor
Un grand merci pour tes infos et tes suggestions ;-)))
Voici un petit retour des actions effectuées depuis hier soir.
Montage sur breadboard d'un max232 avec les capas adéquates et connexions sur le tx/rx de la nano.
Alimentation sur Vin et port USB débranché.
Je reprends mon code qui fonctionnait avec le port COM virtuel créé par la nano quand elle était connecté en USB et là aucune de mes commandes ne fonctionnent ?
Je fais plus simple : nouveau code , dans loop je fais envoyer un simple 'A' avec un délai d'une seconde, je met un logiciel term sur le pc (avec le convertisseur usb/com) et la oh miracle le caractère 'A' arrive régulièrement.
Par contre quand j'envoie un caractère depuis le logiciel de term, la du coté de la réception sur l'arduino, je ne reçois jamais la même chose, je repasse en USB/COM et la ça marche envoi et réception correcte des deux cotés.
Je précise que les vitesses sont bonnes, je ne vois pas ou chercher.
Comment peux t il y avoir une différence avec un rx qui fonctionne bien (Arduino -> PC) et un Tx (PC-> Arduino) qui fait n'importe quoi.
J'ai même changé le convertisseur USB/COM de mon PC au cas ou mais pareil.
Suis je passé à coté de quelque chose ?
Merci encore pour ton aide, si tu vois une piste.
++
oldchap
- vérifier que le montage à base de MAX232 fonctionne
Tu ne le relie pas à l'Arduino mais tu relie ensemble le TX et le RX du MAX232
Vérifie que ton port série sur PC est configuré pour ne pas utiliser de handshake.
Avec cette config tu devrait avori en écho sur le terminal tout ce que tu tapes. Attention certains terminaux (comme celui de l'IDE Arduino) marchent en mode ligne et attendent pour envoyer un retour chariot.
Si pas d'écho, il peut être utile que le CTS soit aussi relier au MAX232 (sens TTL vers PC) et tiré au GND :
GND ----[>o---- /CTS
CTS signifie Clear To Send. la signification est a considérer avec l'usage original du RS232 qui était de relier un modem téléphonique à un PC. CTS permet au modem d'indiquer qu'il est prêt a transmettre sur la liaison téléphonique, ce qui du coté RSR232 signifie que le PC peut lui envoyer des données. C'est peut être cela qui empêche le PC d'envoyer les octets.
- Si ca marche en mode echo mais toujours pas relié à l'Arduino, il faudrait vérifier que quand le PC envoie via le MAX232 sur le RX de l'Arduino la broche en question change vraiment d'état.
Tu n'as pas accès à un oscilloscope ?
Ok, je check tout ça demain dans la journée et je posterai les résultats.
Bonne soirée
++
Bonjour à tous et une grosse poignée de main à barbudor !!!
J'ai repris tout à zéro en prenant en compte les infos de barbudor
- bouclage du tx/rx du Max232 sans le relier à l'arduino
- terminal sur PC -> envoi de caractères -> rien en retour -> pas glop pas glop
Du coup j'ai repris un autre montage du max232
Je n'ai pas raccordé le condo C5 de 100nano sur le RTS
- rebouclage du tx/rx du Max232
- terminal sur PC -> envoi de caractères -> réception des mêmes caractères !!!! on est sur la bonne voie
- raccordement du Tx/rx vers l'arduino, alim autonome, usb non raccordé
- terminal sur PC -> envoi des caractères -> réception et interprétation par l'arduino OK
*********** CA MARCHE ****************
Mille fois merci à mister barbudor pour son aide et j'espère que ce post, pourra servir à d'autres passionnés
Allez je vais pouvoir passer à un autre problème -> watchdog, je risque de reposter d'ici quelques temps
Bonne journée à tous
oldchap