Il est possible d'écrire des données série sans rien de connecté.
Dans le cas (2) "Puce d'interface Arduino + USB", l'arduino n'a aucune idée si quelque chose est connecté ou écoute le port série . Le code transmettra les octets et agira exactement de la même manière, qu'il soit branché sur quoi que ce soit ou non.
Dans le cas (1) "arduino avec USB intégré", il a une idée, mais laisse tomber les octets qui vont à transmettre lorsque le port USB n'est pas connecté.
Le matériel série (cas 2) a un tampon de sortie, mais cela rend juste le programme un peu plus rapide. Lorsque le tampon est vide, un appel à serial. {Print, write}
placera des octets dans le tampon et passera à autre chose. Lorsqu'il est plein, Serial. {Print, write}
attendra qu'il y ait suffisamment de place pour mettre le reste du message dans la mémoire tampon et continuer. L'UART matériel et les interruptions qu'il génère continueront à extraire des octets du tampon et à les transmettre à un débit constant, que quelque chose soit branché ou non. Dans tous les cas, le tampon a une taille fixe et ne débordera jamais.
Pour autant que je sache, USB-Serial (cas 1) ne met en mémoire tampon que les données entrantes. Comme les appels à Serial. {Print, write}
ne font rien lorsqu'ils ne sont pas connectés, ils peuvent prendre moins de temps qu'ils ne le feraient autrement. Si votre code n'est vraiment pas sûr sur le timing, cela pourrait poser un problème, mais je doute que ce soit le cas.
De nombreux exemples fournis avec l'IDE Arduino contiennent le bit de code suivant qui met en pause les compatibles USB natifs Arduino jusqu'à la connexion USB est initialisée:
while (! Serial) {; // attend que le port série se connecte. Nécessaire uniquement pour le port USB natif}
Ce code empêche l'Arduino de faire quoi que ce soit jusqu'à ce que le câble USB soit connecté. Remémorez ou supprimez ces 3 lignes si vous voulez que l'Arduino fonctionne "stand- seul "sans connexion par câble USB ( Arduino Cookbook p. 117) -
après avoir supprimé ces lignes, si vous branchez plus tard un câble USB, l'USB s'initialise correctement, et alors vous verrez sur votre moniteur série tout ce qui est imprimé par n'importe quel plus tard Série Commandes .print () qui s'exécutent. (Testé sur un Teensy LC).