Esta resposta lista as 4 opções básicas:
HardwareSerial
, sempre o melhor. Basta usar a Serial
variável predefinida . Em alguns Arduinos, existem portas HardwareSerial extras, chamadas Serial1
, Serial2
etc. O Nano tem apenas Serial
.
AltSoftSerial
, o melhor das bibliotecas seriais de software. Apenas uma instância é permitida e deve ser usada em um dos pinos de Captura de entrada (pinos 8 e 9 para um Nano).
Meu NeoSWSerial
é o próximo melhor. Funciona com dois pinos, mas apenas nas taxas de transmissão 9600, 19200 e 38400.
SoftwareSerial
é a pior escolha. Funciona com dois pinos, mas é muito ineficiente. Desativa interrupções durante todo o tempo em que um personagem está sendo enviado OU recebido, e não pode fazer as duas coisas ao mesmo tempo (ao contrário de todas as outras opções em série). Isso pode interferir em outras partes do seu esboço, em outras comunicações do dispositivo ou em bibliotecas.
Se você pudesse usar uma taxa de transmissão mais lenta, poderia manter as impressões de depuração ativadas Serial
e usar um AltSoftSerial
ou outro NeoSWSerial
para o seu dispositivo.
Mas se você precisar usar o 115200, a única opção confiável é Serial
. Embora AltSoftSerial
e SoftwareSerial
permitam essa taxa de transmissão, eles podem não enviar / receber dados corretamente.
Nesse caso, sugiro usar Serial
o dispositivo 115200. A menos que você esteja usando um ISP, será necessário desconectar o dispositivo para fazer upload de um novo esboço por USB.
Em seguida, use AltSoftSerial
ou NeoSWSerial
para suas instruções de depuração. Você precisará de um adaptador TTL de série para USB (também conhecido como FTDI) nos pinos selecionados para conectar ao PC. O Serial Monitor
ou outro programa emulador de terminal lerá a partir dessa porta USB COM.
key=getKey();
meu GSM (usando os pinos 2 e 3 do Arduino Uno) não recebe SMS. Ajude-me, por favor.