bella billie, ho implementato una cosa simile, solo che era ieri alle 1730 l ho provata e funzionnicchia. Al posto di aspettare INFINITE ho imposto un tempo di attesa di 3 secondi. In pratica vado a campionare la porta appunto ogni tre secondi per vedere se qualche carattere e arrivato. In ogni caso grazie per la rispo, aggiungo pero un altra domanda:Originariamente inviato da billiejoex
Potresti creare una variabile "coda", inizialmente vuota, che controlli ad ogni ciclo compiuto dal while. Se la coda è vuota continui come se nulla fosse, altrimenti prendi i dati in essa contenuti e li mandi. Lo stesso principio è spesso applicato nei frameworks asincroni basati su select / poll / epoll ecc...
secondo te/voi, sarebbe possibile avere un programma con questa struttura
// Thread principale
// Thread Ascolto
Con il Thread Ascolto sempre in ascolto sulla seriale, ovvero
WaitForSingleObject(OverlapStruct.hEvent,INFINITE) ==WAIT_OBJECT_0)
Il mio dubbio e che, impostando infinito, il programma stia sempre nel thread Ascolto. Ci sarebbe un modo per far si che il Thread principale vada a campionare periodicamente il thread Ascolto?
Mi scuso per la spiegazione contorta, ovviamente resto a disposizione per chiarire il piu possibile!!
![]()
![]()