• Viernes 29 de Marzo de 2024, 15:52

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - esilgar

Páginas: [1]
1
PDA / Re: Recpcion Caracteres Puerto Com7
« en: Jueves 27 de Abril de 2006, 22:10 »
gracias por la respuesta, pero no puedo hacer una conexion sin hilos.
yo conecto una antena a la PDA y cuando le mando el comando para pedir la version de la antena no responde bien.
Creo que el problema está en el código, pero no se muy bien.
no se si la funcion de escribir en el puerto es correcta o es a la hora de recibir los caracteres, al pasarlos de la antena a la PDA (hablando en una comunicacion sin hilos, solo del puerto).
No se si a la hora de leer lo leo muy rapido o muy despacion, he puesto 9600baudios a la hora de configurarlo, o si sq lee mal los caracteres  :(
no se.
gracias por la ayuda.

2
PDA / Recpcion Caracteres Puerto Com7
« en: Miércoles 26 de Abril de 2006, 00:30 »
Hola a todos, soy nuevo en este foro y casi tambien en el tema de la programacion de PDA's
En estos momentos estoy programando una aplicacion para el envio de informacion por el puerto COM7 a traves de una antena de RF y la recepcion de datos por el mismo puerto por medio de esta antena.
El problema es que a la hora de recibir los caracteres me salen unas cosas muy raras, en codigo ascii corresponden a -16,16,1 y cosas asi, por que puede ser??
os envio parte del codigo de recepcion, a ver si me podeis ayudar.
muchas gracias.


DWORD WINAPI CommReadThreadFunc(LPVOID lpParam)
{
   DWORD dwBytesRead;
   DWORD fdwCommMask;
   char  Byte;
   
   //Especificamos uns conjunto de eventos para que los monitorice el puerto
   
SetCommMask(hPort, EV_RXCHAR ); //configuramos la mascara para que nos avise cuando el puerto  

     haya recibido un byte

SetDlgItemText(hwndDialog,IDC_coger, TEXT("introducetexto"));


      while (hPort != INVALID_HANDLE_VALUE)

      {


            //Esperamos a que ocurra un evento en el puerto

            if(FALSE==WaitCommEvent(hPort,&fdwCommMask,0))

            {

                  SetDlgItemText(hwndDialog,IDC_pegar, TEXT("err esperando evento"));

                  return 0;

            }

      //volvemos a indicar los eventos a monitorizar

            SetCommMask(hPort,EV_RXCHAR);


            MessageBox(hwndDialog, TEXT("ESPERANDO

     LECTURA"),TEXT("error"),MB_OK);


            if (fdwCommMask & EV_RXCHAR)

            {


                  MessageBox(hwndDialog, TEXT("dentro rxchar"),TEXT("error"),MB_OK);

                  unsigned short szBuffer[128]=TEXT("");

                  int h=0;

                  for (int l=0;l<15;l++)

                  {


                        szBuffer[l]=' ';

                  }

                  //Loop para esperar el dato

                  do

                  {

                  ReadFile(hPort,&Byte,1,&dwBytesRead,NULL);


                        //Guardamos el byte nuevo en una variable

                        if( dwBytesRead!=0)

                        {

                              if (contador==0)

                              {

                                    for (int l=0;l<15;l++)

                                    {


                                          szBuffer[l]=' ';

                                    }

                              }

                              //szBuffer=Byte;


                              procesado(Byte,contador,szBuffer);

                              contador++;

                              //SetDlgItemText(hwndDialog,IDC_pegar, szBuffer);


                        }

                  }while (dwBytesRead!=0);
                   }
   //Devolvemos los valores de registro-control
   GetCommModemStatus(hPort, &fdwCommMask);
      
            }
   return 0;
}

3
PDA / Recpcion Caracteres Puerto Com7
« en: Miércoles 26 de Abril de 2006, 00:28 »
Hola a todos, soy nuevo en este foro y casi tambien en el tema de la programacion de PDA's
En estos momentos estoy programando una aplicacion para el envio de informacion por el puerto COM7 a traves de una antena de RF y la recepcion de datos por el mismo puerto por medio de esta antena.
El problema es que a la hora de recibir los caracteres me salen unas cosas muy raras, en codigo ascii corresponden a -16,16,1 y cosas asi, por que puede ser??
os envio parte del codigo de recepcion, a ver si me podeis ayudar.
muchas gracias.


DWORD WINAPI CommReadThreadFunc(LPVOID lpParam)
{
   DWORD dwBytesRead;
   DWORD fdwCommMask;
   char  Byte;
   
   //Especificamos uns conjunto de eventos para que los monitorice el puerto
   
SetCommMask(hPort, EV_RXCHAR ); //configuramos la mascara para que nos avise cuando el puerto  

     haya recibido un byte

SetDlgItemText(hwndDialog,IDC_coger, TEXT("introducetexto"));


      while (hPort != INVALID_HANDLE_VALUE)

      {


            //Esperamos a que ocurra un evento en el puerto

            if(FALSE==WaitCommEvent(hPort,&fdwCommMask,0))

            {

                  SetDlgItemText(hwndDialog,IDC_pegar, TEXT("err esperando evento"));

                  return 0;

            }

      //volvemos a indicar los eventos a monitorizar

            SetCommMask(hPort,EV_RXCHAR);


            MessageBox(hwndDialog, TEXT("ESPERANDO

     LECTURA"),TEXT("error"),MB_OK);


            if (fdwCommMask & EV_RXCHAR)

            {


                  MessageBox(hwndDialog, TEXT("dentro rxchar"),TEXT("error"),MB_OK);

                  unsigned short szBuffer[128]=TEXT("");

                  int h=0;

                  for (int l=0;l<15;l++)

                  {


                        szBuffer[l]=' ';

                  }

                  //Loop para esperar el dato

                  do

                  {

                  ReadFile(hPort,&Byte,1,&dwBytesRead,NULL);


                        //Guardamos el byte nuevo en una variable

                        if( dwBytesRead!=0)

                        {

                              if (contador==0)

                              {

                                    for (int l=0;l<15;l++)

                                    {


                                          szBuffer[l]=' ';

                                    }

                              }

                              //szBuffer=Byte;


                              procesado(Byte,contador,szBuffer);

                              contador++;

                              //SetDlgItemText(hwndDialog,IDC_pegar, szBuffer);


                        }

                  }while (dwBytesRead!=0);

Páginas: [1]