Pergunta

Estou vendo algum comportamento estranho do Windows em relação aos meus buffers.

Eu uso 3 conversor USB-serial com fichas FTDI.Eu abro as portas COM com a CreateFile e tudo funciona bem.Todas as 3 portas têm a mesma configuração, exceto as taxas de transmissão.2 Trabalhe em 38400 e um a 9600.

Aqui está a parte ímpar:

Eu sou capaz de escrever com sucesso a porta 9600 e uma das 38400 portas.As segundas 38400 portas parecem estar tamponando os dados.Eu conectei a esta porta com hiperterminal e vejo que nas portas de trabalho eu imediatamente recebo uma resposta e na porta "estranha" eu só recebo os dados quando feche minha inscrição ...

Alguém mais experimentou isso?Como você resolveu isso?

Foi útil?

Solução

Isso é uma espécie de tiro no escuro ... mas.

Verifique as configurações de controle de fluxo para ambas as extremidades da conexão "estranha".Eu vi coisas estranhas assim quando o controle de fluxo é incompatível.O ato de fechar a porta limpa os bits e permite que os dados tamponados fluam.

Outras dicas

Tendo trabalhado um pouco com chips ftdi, eu sugiro que você confira as configurações avançadas do driver para cada porta.O driver suporta o controle de buffer e latência, a fim de permitir que você comprometa entre alta taxa de transferência e baixa latência.Então verifique as configurações que funcionam e use o mesmo para aquela que não (se elas não forem as mesmas).

Em uma nota lateral, usando FTDI: S possui API Você não precisa acompanhar a reatribuição do porto e semelhantes.A API é bastante semelhante ao Win32 normal, mas expõe mais opções de configuração.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top