Domanda

Io sto vedendo un comportamento piuttosto strano da Windows per quanto riguarda i miei buffer.

Io uso 3 convertitore USB-seriale con chip FTDI.Apro le porte COM con CreateFile e tutto funziona bene.Tutte e 3 le porte hanno la stessa configurazione ad eccezione dei tassi di trasmissione.2 Lavoro a 38400 e uno a 9600.

Ecco la parte dispari:

Sono in grado di scrivere con successo la porta 9600 e una delle 38400 porta.I secondi porti 38400 sembra buffering i dati.Ho collegato a questa porta con Hyperterminal e vedi che sulle porte di lavoro ottengo immediatamente una risposta e sulla porta "strana" ottengo solo i dati quando chiudo la mia applicazione ...

Qualcun altro ha sperimentato questo?Come hai risolto questo?

È stato utile?

Soluzione

Questo è un tipo di colpo nel buio ... ma.

Controllare le impostazioni di controllo del flusso per entrambe le estremità della connessione "strana".Ho visto cose strane come questa quando il controllo del flusso non corrisponde.L'atto di chiusura della porta cancella i bit e consente di fluire i dati bufferizzati.

Altri suggerimenti

Avendo lavorato un po 'con chip FTDI, ti suggerisco di controllare le impostazioni avanzate del driver per ogni porta.Il conducente supporta sia il tampone che il controllo della latenza per consentire il compromesso tra elevato throughput e bassa latenza.Quindi controlla le impostazioni che funzionano e usano lo stesso per quello che non è (se non sono uguali).

Su una nota laterale, utilizzando FTDI: s API Non è necessario tenere traccia della riassegnazione del Com-Port e simili.L'API è abbastanza simile alla normale Win32, ma espone più opzioni di configurazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top