[Lazarus-es] Comunicación serial

Martin Gomez mmgomez en gmail.com
Mie Jul 24 19:30:57 CEST 2013


Ah, me ha sucedido lo mismo intentando comunicarme con un PIC de una
plaqueta que desarrollaron en el trabajo, no me pareció que viniese a
cuento porque este era un proyecto en C#, pero la cuestión es que tenía que
tener la recepción en un hilo separado porque sino el buffer del PIC se
saturaba y no podía ni enviar ni recibir más nada...
Es una buena estrategia de diseño separar el acceso a hardware en otro
hilo, sobre todo cuando este hardware es muy sensible a los timings y no
puedes permitirte que un refresco de pantalla te haga perder datos.



2013/7/24 Antonio Évora <aevorar en gmail.com>

> El 22/07/13 17:08, Maxi escribió:
>
>  muy bueno, te sugiero si es posible agregues un resumen de como se
>> solucionó para que quede en los registros.
>>
>>
>> El día 22 de julio de 2013 04:12, Antonio Évora <aevorar en gmail.com>
>> escribió:
>>
>>> El 18/07/13 16:06, Maxi escribió:
>>>
>>>  que bueno, me alegro, esa está basada en synaser, pero si anda dale
>>>> para adelante.
>>>>
>>>> El día 18 de julio de 2013 10:03, Antonio Évora <aevorar en gmail.com>
>>>> escribió:
>>>>
>>>>> El 18/07/13 13:50, Maxi escribió:
>>>>>
>>>>> Deberías ver como usar el rts y cts para controlar el envío de datosq
>>>>>
>>>>> El 18/07/2013 05:08, "Antonio Évora" <aevorar en gmail.com> escribió:
>>>>>
>>>>>> Se me olvido decir que en el GPS el control de flujo es hardware y el
>>>>>> sensor de temperatura no tiene control de flujo.
>>>>>>
>>>>>> También se me olvido dar las GRACIAS!!!! de nuevo :-D
>>>>>>
>>>>>> ______________________________**_________________
>>>>>> Lazarus-es mailing list
>>>>>> Lazarus-es en lists.lazarus.**freepascal.org<Lazarus-es en lists.lazarus.freepascal.org>
>>>>>> http://lists.lazarus.**freepascal.org/mailman/**listinfo/lazarus-es<http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es>
>>>>>>
>>>>>
>>>>>
>>>>> ______________________________**_________________
>>>>> Lazarus-es mailing list
>>>>> Lazarus-es en lists.lazarus.**freepascal.org<Lazarus-es en lists.lazarus.freepascal.org>
>>>>> http://lists.lazarus.**freepascal.org/mailman/**listinfo/lazarus-es<http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es>
>>>>>
>>>>> Hola Maxi,
>>>>> Creo haber solucionado el tema de las lecturas del GPS, he usado una
>>>>> variante de SdpoSerial de Jurassic Pork modificada por mi. En principio
>>>>> (solo en principio porque estoy usando un simulador de tramas de GPS
>>>>> pues
>>>>> hoy no tengo acceso al equipo real) he consegido pillar solo las tramas
>>>>> que
>>>>> necesito desechando el resto. La verdad que estoy bastante contento y
>>>>> en
>>>>> gran parte gracias a ti (estoy escribiendo esto con una sonrisa en la
>>>>> cara).
>>>>> Mañana haré pruebas con el equipo real y te cuento.
>>>>>
>>>>> De nuevo mil gracias y te cuento.
>>>>>
>>>>> Saludos.
>>>>>
>>>>> ______________________________**_________________
>>>>> Lazarus-es mailing list
>>>>> Lazarus-es en lists.lazarus.**freepascal.org<Lazarus-es en lists.lazarus.freepascal.org>
>>>>> http://lists.lazarus.**freepascal.org/mailman/**listinfo/lazarus-es<http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es>
>>>>>
>>>>>
>>>>  Hola Maxi,
>>> El sistema ahora esta funcionando correctamente, el viernes lo tuve de
>>> pruebas y todo de maravilla, inclusive la inicialización que no hacia.
>>>
>>> Gracias de nuevo.
>>>
>>>
>>> ______________________________**_________________
>>> Lazarus-es mailing list
>>> Lazarus-es en lists.lazarus.**freepascal.org<Lazarus-es en lists.lazarus.freepascal.org>
>>> http://lists.lazarus.**freepascal.org/mailman/**listinfo/lazarus-es<http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es>
>>>
>>
>>
>>  El problema que tenia era que no "consumía" las tramas de los
> dispositivos al mismo tiempo que iban llegando. Con lo que el dispositivo
> mas lento (sensor) iba cogiendo tramas "tardias" (las cogia del buffer) del
> GPS, con lo que la asociación estaba desplazada en el tiempo. Usando la
> variante de SdpoSerial de Jurassic Pork (que implementa la recepcion usando
> hilos de ejecucion) he consegido esta sincronizacion. Como el GPS envia
> tramas a mas velocidad las voy desechando hasta que recibo una trama del
> sensor, es entonces cuando cojo la siguiente trama que llega del GPS
> teniendo un desfase entre medidas, en el peor de los casos, de 10
> milisegundos. Actualmente sigo teniendo problemas, pero ya no de puertos
> (por fin)
>
> Espero que a alguien le sirva ;-D
>
> Gracias a todos y especialmente a Maxi.
>
>
> ______________________________**_________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.**freepascal.org<Lazarus-es en lists.lazarus.freepascal.org>
> http://lists.lazarus.**freepascal.org/mailman/**listinfo/lazarus-es<http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es>
>



-- 
Try not to become a man of success but rather to become a man of value. *Albert
Einstein*
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20130724/f1942a2c/attachment-0002.html>


More information about the Lazarus-es mailing list