Hola Emiliano... Una pregunta y una solución:<br><br>Vos hiciste el receptor del control remoto? Porque casualmente hace bastante estaba haciendo uno y tuve que desistir al no conseguir los componentes necesarios... Si es así me podés decir que receptor infrarrojos usaste y en que país? Y todavía estoy con "la bronca" de eso dando vueltas en la cabeza... je...
<br><br>POR OTRO LADO (lo escribo en mayúsculas porque esto debe ser lo importante para vos) TE RECOMIENDO QUE VEAS EL PROGRAMA WINLIRC PARA WINDOWS QUE SE ADAPTA A LOS DISTINTOS RECEPTORES, QUE PARTE DE LIRC PARA LINUX. Es gratis y no se de donde lo saqué (siempre hablando del winlirc), supongo que debe estar por todos lados, pero tengo el código fuente. Si no lo encontrás te lo puedo pasar, lo tengo con el fuente y funcionando, así como también algún programa para manejar distintos programas con plug' ins (Que ahora no me acuerdo el nombre. Si te interesa decime y te lo paso...)... Saludos y mejor suerte que yo.. je aunque si tenés el receptor lo demás es historia con el WinLirc
<br><br><div><span class="gmail_quote">El día 27/12/06, <b class="gmail_sendername">Jorge Luis Betancourt González</b> <<a href="mailto:mayragm@finlay.cmw.sld.cu">mayragm@finlay.cmw.sld.cu</a>> escribió:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
-----BEGIN PGP SIGNED MESSAGE-----<br>Hash: SHA1<br><br>Hola Emiliano:<br><br>Mira en mi modesta opinión, puede que al tratarse de un control<br>remoto, así como otros dispositivos inalámbricos estos envían señales<br>periódicas para ver si el dispositivo está aún conecta o para
<br>averiguar en que estado se encuentra el dispositivo, así por ejemplo<br>sucede con los dispositivos WiFi de redes, mi consejo es que depures<br>un poco más tu algoritmo y escribas una función o un código que te<br>permita «filtrar» lo leído desde el dispositivo, y entonces luego
<br>pasárselo al selector de acciones que tengas planeado implementar, si<br>te hace más fácil cuando tienes todas las interrupciones (datos) que<br>te envía el dispositivo y que no son las lecturas de las teclas<br>presionadas ni nada de esto, así pues:
<br><br>Mando -> Envía señal -> Procesar señal en busca de ->  entregar señal<br>al selector de acciones<br>                        datos inválidos FF, FD, o<br>                        FE,<br>slds<br><br>Emiliano Nuñez escribió:
<br>> Hola lista, resulta que tengo un control remoto con el correspondiente<br>> receptor que va conectado al puerto serie, estoy haciendo un programa para<br>> obtener los bytes que el mando me envia cada vez que presiono una
<br>tecla, el<br>> programa escucha el puerto y cuando apreto un boton me envia los bytes<br>> recibidos, hací yo puedo actuar en funcion de estos.<br>> El problema es que aveces (es impredecible) aparecen datos leidos sin
<br>que yo<br>> presione una tecla, o sea, por ejemplo, el programa dice "escichando" y<br>> aparecen bytes normalmente FF, FD, o FE, o sea, lee esos bytes del puerto<br>> serie sin que yo haya apretado ninguna tecla, y estos aveces si yo estoy
<br>> apretando teclas se mezclan con lo verdaderos bytes que he enviado.<br>><br>> digamos que la salida deberia ser esta:<br>><br>> listando.........<br>><br>> 32,45,A1  ---> aprete la tecla x<br>
> 43,CD,2A ----> aprete la tecla y<br>> .<br>> .<br>> .<br>><br>> pero la salida es:<br>><br>> listando.....<br>><br>> FF (no aprete nada)<br>> FE (no aprete nada)<br>><br>> 32,45,A1 (aprete la tecla x)
<br>><br>> 43,FF,CD,2A (aprete la tecla y)<br>><br>> o sea, es como si se meten bytes que no tendrían que estar allí, como si<br>> otro programa estubiese escribiendo esos bytes en el puerto paralelo.<br>>
<br>> no se si alguíen podrá ayudarme.<br>><br>> dejo el codigo (compilado con vc++)<br>><br>> #include "stdafx.h"<br>> #include <stdio.h><br>> #include <string.h><br>> #include <
windows.h><br>> #include <conio.h><br>> #include <winsock.h><br>><br>><br>> void main(int argc, char* argv[])<br>> {<br>>     char cadena[1024];<br>>     DCB dcb;<br>>     HANDLE hCom;
<br>>     DWORD dwError;<br>>     BOOL fSuccess;<br>><br>><br>>     printf("escuchandoooooooo...\n");<br>><br>>     hCom = CreateFile( "com1",<br>>         GENERIC_READ | GENERIC_WRITE,
<br>>         0,    // comm devices must be opened w/exclusive-access<br>>         NULL, // no security attributes<br>>         OPEN_EXISTING, // comm devices must use OPEN_EXISTING<br>>         0,    // not overlapped I/O
<br>>         NULL  // hTemplate must be NULL for comm devices<br>>         );<br>><br>>     if (hCom == INVALID_HANDLE_VALUE)<br>>     {<br>>         dwError = GetLastError();<br>>         return;<br>
><br>>         // handle error<br>>     }<br>><br>>     // Omit the call to SetupComm to use the default queue sizes.<br>>     // Get the current configuration.<br>><br>>     fSuccess = GetCommState(hCom, &dcb);
<br>><br>>     if (!fSuccess)<br>>     {<br>>         // Handle the error.<br>>         CloseHandle(hCom);<br>>         return;<br>>     }<br>><br>>     // Fill in the DCB: baud=1200, 8 data bits, no parity, 1 stop bit.
<br>><br>>     dcb.BaudRate = CBR_1200;<br>>     dcb.ByteSize = 8;<br>>     dcb.Parity = NOPARITY;<br>>     dcb.StopBits = ONESTOPBIT;<br>><br>>        dcb.fAbortOnError = FALSE;<br>>        dcb.fInX
 = FALSE;<br>>        dcb.fOutX = FALSE;<br>>        dcb.fOutxCtsFlow = FALSE;<br>>        dcb.fOutxDsrFlow = FALSE;<br>>        dcb.fDsrSensitivity = FALSE;<br>>        dcb.fTXContinueOnXoff = FALSE;<br>>        
dcb.fRtsControl = RTS_CONTROL_ENABLE;<br>>        dcb.fDtrControl = DTR_CONTROL_DISABLE;<br>><br>><br>>     fSuccess = SetCommState(hCom, &dcb);<br>><br>>     if (!fSuccess)<br>>     {<br>>         // Handle the error.
<br>>         CloseHandle(hCom);<br>>         return;<br>>     }<br>>     unsigned long leidos,total;<br>><br>>     COMMTIMEOUTS ct;<br>>     memset(&ct,0,sizeof(COMMTIMEOUTS));<br>> //    ct.ReadIntervalTimeout=MAXDWORD
;<br>> //    ct.ReadTotalTimeoutMultiplier=0;<br>> //    ct.ReadTotalTimeoutConstant=0;<br>>     SetCommTimeouts(hCom,&ct);<br>>     COMSTAT ComStatNew;<br>>     DWORD dwErrors;<br>><br>>     total=0;
<br>>     char rxchar;<br>>     while(!_kbhit())<br>>     {<br>>         leidos=0;<br>>         while(!leidos && !_kbhit()){<br>>                 fSuccess=ReadFile(hCom,&rxchar,1,&leidos,NULL);
<br>>         }<br>>         if(fSuccess)<br>>         {<br>>             total+=leidos;<br>>             cadena[leidos]='\0';<br>>             printf("%d,\n",rxchar);<br>><br>>         }
<br>>     }<br>><br>>     CloseHandle(hCom);<br>> }<br>><br>><br>> felices fiestas!<br>><br>> _________________________________________________________________<br>> Windows Live Messenger, la nueva generación de tu MSN.
<br>> <a href="http://imagine-msn.com/minisites/messenger/default.aspx?locale=es-ar">http://imagine-msn.com/minisites/messenger/default.aspx?locale=es-ar</a><br>><br>><br>> _______________________________________________
<br>> Cconclase mailing list<br>> <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>> <a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
</a><br>><br><br>- --<br>Jorge Luis Betancourt González<br>E-Mail: <a href="mailto:betancourt.jorge@gmail.com">betancourt.jorge@gmail.com</a> (home)<br>        <a href="mailto:mayragm@finlay.cmw.sld.cu">mayragm@finlay.cmw.sld.cu
</a> (work/home)<br>G-Talk: <a href="mailto:betancourt.jorge@gmail.com">betancourt.jorge@gmail.com</a> (jabber)<br>Blog:   <a href="http://jorgelb.blogeasy.com">http://jorgelb.blogeasy.com</a><br>Phone:  ++(53)(32)59440<br>
Linux User: 386271<br>[El conocimiento humano pertenece al mundo]<br>-----BEGIN PGP SIGNATURE-----<br>Version: GnuPG v1.4.4 (MingW32)<br>Comment: Using GnuPG with Mozilla - <a href="http://enigmail.mozdev.org">http://enigmail.mozdev.org
</a><br><br>iD8DBQFFkxe5/9sG/XUcjyYRAunoAKDbcazfWsSmRPypzt/Lh+NE5Sp/4QCfY4X8<br>21OuKyS3EOPpp+P4SA9GjGo=<br>=ASWR<br>-----END PGP SIGNATURE-----<br><br><br><br>--<br>Este mensaje ha sido analizado por MailScanner del Nodo Finlay, Camaguey, Cuba
<br>en busca de virus y se considera que está limpio.<br><br><br>_______________________________________________<br>Cconclase mailing list<br><a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a>
<br><a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br></blockquote></div><br>