¿Puedo usar arduino USART tx y rx por separado?

Mi idea es recibir sentencias de GPS en el pin RX, analizar los datos y enviar el resultado a mi computadora a través del pin TX. (con la misma tasa de baudios. 9600 por ejemplo)

¿Es posible o puedo encontrar un problema de búfer para los bytes que no se consumen?

Respuestas (3)

RS-232 son en realidad dos líneas seriales separadas, una en cada dirección. Asimismo, el hardware UART es independiente para recibir y transmitir, a excepción del generador de velocidad en baudios. Entonces, siempre que desee usar la misma velocidad en baudios (que es lo que hace), no debería haber ningún problema. Piénsalo. El micro solo ve una línea RX y TX. No tiene forma de saber si están conectados a RX y TX de otro dispositivo, o si están divididos para que TX vaya a RX de un dispositivo y RX vaya a TX de otro. ¿Cómo te imaginas que podría notar la diferencia?

Por supuesto, si los protocolos de nivel superior para cualquiera de esos dispositivos son bidireccionales, esto no funcionará. Si solo desea pasar bytes de GPS a su computadora, eso funcionaría. Sin embargo, si es necesario enviar algo al GPS para que funcione o si necesita ser controlado, entonces no funcionará.

El dispositivo GPS que uso tiene un modo en el que solo usa su pin tx

Definitivamente es posible, siempre que no espere multiplexar los dos dispositivos. Si es aconsejable o no, es otra cuestión completamente diferente.

Entonces, simplemente conecte el pin RX al GPS y el pin TX a la PC. No podrá transmitir al GPS ni recibir desde la PC.

Sí, probablemente podría hacer esto, pero ¿solo hay un UART disponible?
Si es así, y le gustaría poder enviar y recibir desde PC o GPS, entonces tal vez podría buscar un segundo UART.

El dispositivo arduino solo tiene un UART disponible.