Bonjour,
Je débute dans le monde Arduino avec Platform IO
J'ai 2 ATMega pro, un en 5 volts-16Mhz et un autre en 3volts - 8 Mhz.
Après avoir initial la liaison via le port USB avec un Serial.begin(9600), la carte envoie le message "loop" à chaque tour de boucle.
Pour les 2 cartes, aucun souci pour téléverser le programme.
Pour la carte en 5v-16Mhz, pas de souci.
Par contre avec la carte 3v-8Mhz, le terminal de Platform IO m'affiche une série de hiéroglyphes.
Si j'utilise picocom comme terminal série, je dois réduire dans le terminal la vitesse de transmission à 4800 bds.
Comment faire pour que platform IO ou le programme téléversé utilise la bonne vitesse de transmission sur le port série quelque soit la fréquence de la carte ?
Autre question : comment changer la vitesse de transmission dans le terminal de Platform IO ?
Pour changer la vitesse du terminal, ajouter la ligne 'monitor_speed = 115200' (par exemple) dans la rubrique [env:xxx] de platformio.ini
Par contre ce n'est pas une solution satisfaisante car si la vitesse du cpu est mal configurée, d'autres fonctions vont mal fonctionné, par exemple delay().
Par contre pour la vitesse, si je mets 'monitor_speed = 115200' dans platformio.ini, je n'arrive plus à téléverser le programme. Je veux juste modifier la vitesse du terminal. Je suis obligé d'utiliser picocom comme cela "picocom -b 115200 /dev/ttyUSB0".
Je découvre platformio au fur et à mesure.
bazooka07:
Par contre pour la vitesse, si je mets 'monitor_speed = 115200' dans platformio.ini, je n'arrive plus à téléverser le programme. Je veux juste modifier la vitesse du terminal. Je suis obligé d'utiliser picocom comme cela "picocom -b 115200 /dev/ttyUSB0".
Je découvre platformio au fur et à mesure.
C'est curieux, chez moi quelque soit ce que je met dans monitor_speed= ça ne change rien au téléversement.
Tu es sur que tu n'a rien changé d'autre?
Le réglage monitor_speed n'influe pas sur téléversement du programme.
C'est l'ajustement de la liaison série pour rendre compréhensible les échanges avec le PC.
Attention, pour le déroulement du programme, il faut que la valeur dans serial.begin() soit la même que celle de moniteur speed.
Cela tient au principe de la liaison série qui oblige l'émetteur et le récepteur à être calés sur le même débit.
Autre raison probable :
Il y a une différence avec les nanos :
les anciennes qui sont avec le "old bootloader"
les nouvelles qui sont avec le même bootloader que la UNO.
Les deux bootloaders n'utilisent pas la même vitesse de téléversement.
Je pense que dans le choix de la carte il y a encore un réglage à faire, qui n'a rien à voir avec monitor_speed.
Dans le titre du premier message, il serait préférable de parler de carte nano plutôt que d'atmega328p.