Why doesn't the below work?
# in one terminal:
echo "asdf" > /dev/ttyUSB0
# in another terminal, this hangs and does nothing
cat < /dev/ttyS0
Como, via de regra, as portas seriais não armazenam dados em buffer. Se não houver um aplicativo cliente para receber os bytes de destino na porta serial, eles serão simplesmente descartados.
Como experiência, tente lançar minicom
ou cu
ou outro programa de terminal serial no computador de destino, depois execute o comando echo
novamente no computador de transmissão. Assumindo que a taxa de transmissão e os enquadramentos estejam alinhados, você deverá ver "asdf" no destino.