Estamos testando um novo cliente Wyse (modelo Z90D7) que possui uma conexão de porta serial para um PC. Temos um cliente externo que usa um equipamento dedicado, mas o PC é o que usamos para testes. Nós executamos uma aplicação C # nos clientes via Citrix. Quando executamos o aplicativo que estamos usando em nosso antigo equipamento Wyse, tudo corre bem sem erros. No entanto, no novo equipamento, a porta serial funciona uma vez a cada 10 tentativas. Todas as outras vezes, isso me causará um erro de Excesso, um erro de Paridade ou um erro de RXOver.
Eu verifiquei através do registro que a porta é aberta e vários comandos são executados depois que ela é aberta. No entanto, os erros aleatórios acontecem antes que qualquer dado real possa ser transmitido. Eu li em vários lugares que isso poderia ser um problema de buffer, mas eu não vi nenhum post mencionando erros antes dos dados serem recebido, então não tenho certeza.
Eu também tentei usar o handshaking e maiores buffers de leitura / gravação sem sorte. Eu tentei um novo cabo e a segunda porta COM neste dispositivo, sem sorte também. Nossas configurações padrão são:
9600 baud, even parity, 8 data bits, 1 stop bit
Considerando que isso está sendo executado na Citrix, também precisamos executar os comandos net use mostrados aqui antes que qualquer coisa seja feita . Não fazer isso resultará na conexão serial sempre dizendo que está conectado e não está recebendo nenhum dado (isso também acontece no equipamento antigo). O comando exato que estamos executando (com o nome do aplicativo alterado, é claro) é:
net use com1 /DELETE
net use com2 /DELETE
net use com1: \client\com1:
net use com2: \client\com2:
start /d "D:\myapp" MyApplication.exe
Alguém que já lidou com portas seriais já ouviu falar desses três erros alternando assim? Existe alguma coisa diferente de uma porta defeituosa (ou duas portas defeituosas, em vez disso) que poderia causar isso? Estou pensando que o tamanho do buffer de hardware pode ser o problema, mas não consigo encontrar uma maneira de superar isso.