[C con Clase] DLK: pregunta sobre puerto serie

Diego Llorente dllquintana en gmail.com
Vie Mar 16 14:36:10 CET 2007


Es la primera vez que escribo pero llevo un tiempo accediento a vuestras
paginas Web y me encantan.

Estoy realizando una aplicación que realiza el control sobre un modem
satelite dentro de una aplicación mayor.

Necesito abrir el puerto serie para lectura y escritura. Utilizo un hilo
para leer del puerto usando la función waitcommevent y me funciona
perfectamente, el problema reside en que cuando quiero realizar en el hilo
principal (no el que uso para leer) una operación de escritura mediante
writefile no pasa de aqui porque el manejador esta bloqueado en la función
waitcommevent del hilo de lectura. Seguro que se puede hacer algo para que
puedas acceder desde dos hilos al mismo puerto serie utilizando
waitcommevent.

He usado varias configuraciones para createfile pero no he conseguido
solucionar mi problema, creo que el problema puede estar en esta función:

Abro el puerto serie de la siguiente manera:

      idComDev = CreateFile("COM1", GENERIC_WRITE | GENERIC_READ,0, NULL,
OPEN_EXISTING, 0, NULL);
        if(idComDev ==INVALID_HANDLE_VALUE) {
           cout << "ERROR: CreateFile. Inicialización puerto serie" << endl;
           return false;
        }

Es posible hacer lo que pido sin utilizar el puerto en modo OVERLAPPED?

Si pudierais ayudarme de alguna manera os lo agradecería.

MUCHAS GRACIAS, Diego.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20070316/e56123c2/attachment.html>


Más información sobre la lista de distribución Cconclase