buffer da porta serial Linux não está vazio ao abrir o dispositi

Eu tenho um sistema em que estou vendo um comportamento estranho com as portas seriais que não espero. Eu já vi isso ocasionalmente com adaptadores USB-para-serial, mas agora também o vejo em portas seriais nativas, com uma frequência muito maior.

O sistema está configurado para executar testes automatizados e primeiro executará algumas tarefas que causam uma grande quantidade de dados a partir do dispositivo serial enquanto as portas não estiverem abertas. O dispositivo também se redefinirá. Somente as linhas tx / rx estão conectadas. Não há controle de fluxo.

Após a conclusão dessas tarefas, o testware abre as portas seriais e falha imediatamente porque obtém respostas inesperadas. Quando reproduzi isso, descobri que, se eu abrir a porta serial em um programa de terminal, vejo vários kilobytes de dados antigos (que parecem ter sido enviados quando a porta foi fechada) imediatamente liberados. Depois de fechar este programa, posso executar os testes conforme o esperad

O que poderia causar isso? Como o Linux lida com o buffer da porta serial quando o dispositivo está fechado? Se eu abrisse um dispositivo, fizesse com que ele enviasse a saída e a fechasse sem ler, isso causaria o mesmo problema?

questionAnswers(1)

yourAnswerToTheQuestion