Il y a tellement de bibliothèques logicielles série, quelles sont les différences entre elles? Et lequel puis-je utiliser avec mon Arduino Nano? Pour mon Arduino Nano, j'ai besoin d'un port série matériel et d'un port série logiciel à un débit de 115200 bauds.
Sur quelles broches de l'Arduino Nano puis-je utiliser la bibliothèque série de logiciels?
serial
arduino-nano
uart
William Roy
la source
la source
key=getKey();
mon GSM (en utilisant les broches 2 et 3 Arduino Uno) ne reçoit pas de SMS. Aidez-moi s'il vous plaît.Réponses:
Cette réponse répertorie les 4 choix de base:
HardwareSerial
, toujours le meilleur. Utilisez simplement laSerial
variable prédéfinie . Sur certains Arduinos, il y a des ports HardwareSerial supplémentaires, appelésSerial1
,Serial2
etc. La Nano a seulementSerial
.AltSoftSerial
, le meilleur des bibliothèques de logiciels en série. Une seule instance est autorisée et doit être utilisée sur l'une des broches de capture d'entrée (broches 8 et 9 pour un Nano).Mon
NeoSWSerial
prochain meilleur. Il fonctionne sur deux broches, mais uniquement aux débits en bauds 9600, 19200 et 38400.SoftwareSerial
est le pire choix. Il fonctionne sur deux broches, mais il est très inefficace. Il désactive les interruptions pendant tout le temps pendant lequel un caractère est envoyé OU reçu, et il ne peut pas faire les deux en même temps (contrairement à tous les autres choix en série). Cela peut interférer avec d'autres parties de votre croquis, d'autres communications de périphérique ou des bibliothèques.Si vous pouviez utiliser un débit en bauds plus lent, vous pourriez conserver vos impressions de débogage
Serial
et utiliser soitAltSoftSerial
ouNeoSWSerial
pour votre appareil.Mais si vous devez utiliser 115200, le seul choix fiable est
Serial
. BienAltSoftSerial
etSoftwareSerial
permettre que la vitesse de transmission, ils ne peuvent pas envoyer / recevoir des données correctement.Dans ce cas, je suggère d'utiliser
Serial
le périphérique 115200. Sauf si vous utilisez un FAI, vous devrez déconnecter l'appareil pour télécharger un nouveau croquis via USB.Utilisez ensuite
AltSoftSerial
ouNeoSWSerial
pour vos instructions de débogage. Vous aurez besoin d'un adaptateur TTL série-USB (alias FTDI) sur les broches sélectionnées pour vous connecter au PC. LeSerial Monitor
ou un autre programme d'émulation de terminal lira à partir de ce port COM USB.la source
NeoICSerial
ajoute simplement laattachInterrupt
méthode àAltSoftSerial
. Vous n'avez probablement pas besoin de gérer chaque personnage dans une interruption. Utilisez simplementAltSoftSerial
et appelez leavailable()
puisread()
si un caractère est prêt. De même,NeoHWSerial
ajoute la mêmeattachInterrupt
fonctionnalité au noyauHardwareSerial
. Cependant,NeoSWSerial
c'est une classe complètement différente (elle a aussi laattachInterrupt
fonctionnalité).Un logiciel série émule un port série, différent d'un port natif qui a un registre pour enregistrer tous les bits dans l'ordre et les définit un indicateur pour appeler la boucle principale, un logiciel série n'a rien de tout cela. Le logiciel série doit recevoir tous les bits, un par un, vous devez donc lire un port numérique, attendre une heure spécifique et relire la broche numérique. Vous devez le faire 10 fois (1 bit de début, 8 bits de données et 1 bit de fin). Le temps est très important. Pour utiliser un logiciel en série, vous devez vous soucier davantage des performances.
Vous pouvez utiliser une broche d'interruption numérique pour la broche RX, de sorte que vous êtes "appelé" dans la bordure inférieure (bit de démarrage) et que vous avez reçu les 8 bits.
la source