|
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
« 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
« 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
« 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]
|
|
|