Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Tratamiento Del RS232.
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Tratamiento Del RS232. 
 
Hola amigos, muchas gracias por leerme.

Mi duda es la siguente, estoy leyendo el puerto serie con una aplicación muy parecida al ejemplo de gambas:

PUBLIC SUB SPort_Read()
    DIM s AS String
    READ #Sport,s,Lof(Sport)
    TextArea1.Text=TextArea1.Text & s
END
 


Bien, la cuestión es que para leer todo es correcto, ahora que pasa si yo intento analizar esa salida para poder realizar una función, ejemplo:

Yo recibo la siguiente linea:

"Press B to stop"

y quiero presionar la B

Bien yo añadiría lo siguiente:

PUBLIC SUB SPort_Read()
      DIM s AS String
      READ #Sport,s,Lof(Sport)
      TextArea1.Text=TextArea1.Text & s
      IF s = "Press B to stop" THEN
           PRINT #Sport,"B"; Chr$(13); Chr$(10);
      ENDIF
END
 


Pero descubro que cuando llega esa linea, el código no hace nada, he probado a capturar el RS232 con ruby y leer en hexadecimal y he visto que la linea acaba con los siguientes caracteres:

"0D0A" o lo que es lo mismo "\r\a"

Bien, pues he probado a introducir esos caracteres al final de la linea, ya sea:


IF s = "Press B to stop\n\r" THEN

o

IF s = ("Press B to stop" & Chr$(13) & Chr$(10)) THEN

Y nada, sigue sin detectar esa linea...

No se me ocurre nada...

Alguien me puede echar un cable?

Desde ya muchas gracias.
 



 
última edición por Pablo-GNU el Martes, 13 Septiembre 2011, 20:41; editado 1 vez 
Pablo-GNU - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Tratamiento Del RS232. 
 
Utiliza una función:

IF left(s,15) = "Press B to stop" THEN

Con eso eliminas el problema de los caracteres raros.

Suerte
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Tratamiento Del RS232. 
 
Hola, tu codigo no es malo pero no termina de funcionar del todo, no se porque todavia, pero lo analizare, gracias por la respuesta.
 



 
Pablo-GNU - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Tratamiento Del RS232. 
 
Si la cadena puede contener otros caracteres para comprobar que contiene la subcadena que te interesa deberías usar InStr (o String.InStr si además puede contener caracteres no ASCII -Unicode-)
 




===================
Cómo programar con Gambas

Speed Books: informática libre.
 
fabianfv - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Tratamiento De Fechas En Gambas Y SQLITE BrunoIV Aplicaciones/Fragmentos de Código 6 Martes, 02 Agosto 2011, 18:44 Ver último mensaje
Invitado
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron