Hay tantas bibliotecas en serie de software, ¿cuáles son las diferencias entre ellas? ¿Y cuál puedo usar con mi Arduino Nano? Para mi Arduino Nano necesito un puerto serie de hardware y un puerto serie de software a una velocidad en baudios de 115200.
¿En qué pines del Arduino Nano puedo usar la biblioteca serial del software?
serial
arduino-nano
uart
William Roy
fuente
fuente

key=getKey();mi GSM (usando el pin 2 y 3 Arduino Uno) no recibe SMS. Ayudame por favor.Respuestas:
Esta respuesta enumera las 4 opciones básicas:
HardwareSerial, siempre lo mejor. Simplemente use laSerialvariable predefinida . En algunas Arduino, hay puertos HardwareSerial adicionales, llamadasSerial1,Serial2etc. El Nano tiene solamenteSerial.AltSoftSerial, la mejor de las bibliotecas seriales de software. Solo se permite una instancia, y debe usarse en uno de los pines de captura de entrada (pines 8 y 9 para un Nano).Mi
NeoSWSeriales el siguiente mejor. Funciona en dos pines, pero solo a velocidades de baudios de 9600, 19200 y 38400.SoftwareSerialEs la peor opción. Funciona en cualquiera de los dos pines, pero es muy ineficiente. Inhabilita las interrupciones durante todo el tiempo que se envía o recibe un personaje , y no puede hacer ambas cosas al mismo tiempo (a diferencia de todas las otras opciones en serie). Esto puede interferir con otras partes de su boceto, otras comunicaciones del dispositivo o con bibliotecas.Si pudieras usar una velocidad de transmisión más lenta, podrías mantener tus impresiones de depuración
Serialy usar cualquieraAltSoftSerialoNeoSWSerialpara tu dispositivo.Pero si tiene que usar 115200, la única opción confiable es
Serial. AunqueAltSoftSerialySoftwareSerialpermita esa velocidad en baudios, es posible que no envíen / reciban datos correctamente.En ese caso, sugeriría usar
Serialpara el dispositivo 115200. A menos que esté utilizando un ISP, deberá desconectar el dispositivo para cargar un nuevo boceto a través de USB.Luego use
AltSoftSerialoNeoSWSerialpara sus declaraciones de depuración. Necesitará un adaptador TTL de serie a USB (también conocido como FTDI) en los pines seleccionados para conectarse a la PC. ElSerial Monitoru otro programa de emulador de Terminal leerá desde ese puerto USB COM.fuente
NeoICSerialsolo agrega elattachInterruptmétodo aAltSoftSerial. Probablemente no necesite manejar cada personaje en una interrupción. Simplemente useAltSoftSerialy llame alavailable()y luegoread()si un char está listo. Del mismo modo,NeoHWSerialagrega la mismaattachInterruptcaracterística al núcleoHardwareSerial. Sin embargo,NeoSWSeriales una clase completamente diferente (también tiene laattachInterruptfunción).El software en serie emula un puerto en serie, diferente de un puerto nativo que tiene un registro para guardar todos los bits en orden y establece una bandera para llamar al bucle principal, una serie de software no tiene nada de eso. El software de serie debe recibir todos los bits, uno por uno, por lo que debe leer un puerto digital, esperar un tiempo específico y volver a leer el pin digital. Debe hacerlo 10 veces (1 bit de inicio, 8 bits de datos y 1 bit de finalización). El tiempo es muy importante. Para usar una serie de software, debe preocuparse más por el rendimiento.
Puede usar un pin de interrupción digital para el pin RX, por lo que se le "llama" en el borde inferior (bit de inicio) y recibe los 8 bits.
fuente