[Lazarus-es] Comunicación serial

Antonio Évora aevorar en gmail.com
Vie Jul 12 14:19:48 CEST 2013


Estimados compañeros,
Estoy depurando una aplicación que recibe información de un GPS usando 
el protocolo NMEA y configurado para que envie solamente tramas GGA y 
GSA. La conexion con el pc es mediante usb (usando un conversor COM-USB 
pues el puerto original de GPS es COM, esta conversión es necesaria pues 
el pc no tiene puerto COM) y es reconocido como un COM virtual. En mi 
aplicación uso synaser (ultima version disponible en sus repositorios) 
para la comunicación llamando al método Recvstring de la clase 
TBlockSerial llamada desde un timer (probado con distintos intervalos de 
tiempo) y me encuentro con los siguientes problemas:

    * Problema de inicialización:
         Si arranco la aplicación no recibe ningún dato del GPS, para
    que empiece a recibir datos tengo que:
             - Cerrar la aplicación
             - Abrir hyperterminal, conectarme al GPS (este empieza a
    recibir tramas) y cerrar hyperterminal
             - Abrir la aplicación y empiezo a recibir tramas
         Con esto intuyo que hyperterminal hace algún tipo de
    inicialización del dispositivo que no hace TBlockSerial

    * Problema en la recepción de tramas:
         Hay tramas que llegan solapadas unas con otras, por ejemplo:
    $GPGSA,M,3,11,03,16,06,18,22,08,19,01,,,,3.14,1.72,2$GPGGA,194255.90,xxxx.xxxxxxx,N,yyyyy.yyyyyyy,W,4,09,2.09,144.4792,M,49.7596,M,0.9,0000*68

    * Inversión del orden de las tramas:
         Supuestamente la recepción de tramas debería ser:
             TramaGGA
             TramaGSA
                     ...
             TramaGGA
             TramaGSA
                     ...
             TramaGGA
             TramaGSA
    Sin embargo durante la recepción se ven invertidas, esto no se si
    puede ser debido problema anterior.

El problema debe de estar en la implementación del TBlockSerial o en el 
conversor COM-USB. Yo personalmente me inclino por el conversor (estoy
trabajando a 115200 baudios) que no da a bastos.

Un cordial saludo y gracias de antemano.

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20130712/1a274d04/attachment-0002.html>


More information about the Lazarus-es mailing list