Re: [Monobotics-develop] [ES] Desorden al realizar lecturas desde SerialPort
Brought to you by:
buhochileno
|
From: Jaime A. <obe...@ho...> - 2009-09-21 18:12:06
|
--------------------------------------------------
From: "Mauricio Heneiquez" <buh...@gm...>
Sent: Monday, September 21, 2009 12:29 AM
To: "Jaime Alvarado" <obe...@ho...>
Cc: "monoBOTICS Developers" <mon...@li...>
Subject: Re: [Monobotics-develop] [ES] Desorden al realizar lecturas desde
SerialPort
> Enviame la modificación que hiciste al código del puerto serie...
public int BytesToRead
{
get
{
return this.serialPort.BytesToRead;
}
}
> Mauricio Henriquez
> Escuela de Computacion
> Universidad Austral de Chile
> Puerto Montt
>
> El 20/09/2009, a las 20:38, "Jaime Alvarado"
> <obe...@ho...
> > escribió:
>
>> Solucione el problema.
>> No me había dado cuenta de que el puerto serial, no borra los datos no
>> capturados o leídos.
>> Como la interfaz al enchufarla, tira continuamente la alerta de que le
>> configuren el reloj, como yo no leo esos datos, esos quedan guardados,
>> entonces al hacer lecturas posteriores leo las lecturas correspondientes
>> a la alerta.
>> Solucione esto creando un método que me limpia el puerto de lecturas no
>> capturadas, para esto tuve que cambiar el código del serialport
>> agregando la propiedad BytesToRead que lo único que hace retornar la
>> propiedad BytesToRead.
>>
>> --------------------------------------------------
>> From: <buh...@gm...>
>> Sent: Friday, September 18, 2009 3:23 PM
>> Cc: "monoBOTICS Developers" <mon...@li...>
>> Subject: Re: [Monobotics-develop] [ES] Desorden al realizar lecturas
>> desde SerialPort
>>
>>>
>>>
>>>>
>>>> Debiendo leer por ejemplo 255:255:4:5:5:4:...... algunas veces lee
>>>> 0:0:0:0:0:255:255:4:5:5:4
>>>> Viendo el código de Heyu, este aplica timeout.
>>>>
>>>> ¿Tiene que ver en esta anomalía el hecho de que yo no uso el tim eout?
>>>> Yo no lo uso debido a que en la documentación no sale nada sobre
>>>> timeout.
>>> Podria ser, tal vez en Heyu lo usan debido a que notaron esto
>>> empiricamente aunque no saliera en la documentacion...
>>>>
>>>> Ahora de ser necesario el uso de timeout, debo setear los ReadTimeOut
>>>> y WriteTimeOut antes o después de llamar a los read y write
>>>> correspondientes.
>>> En este caso seria necesario solo el ReadTimeOut aunque puedes probar
>>> con ambos, solo necesitas setarlo una vez, puede ser en el
>>> InitializeSimulation, a no ser que diferentes lecturas necesiten un
>>> timeout diferente, lo cual seria muy raro..
>>>
>>
>> El Timeout no fue necesario, no era la razón de la desincronización.
>>
>>> Si esto no funciona, otra alternativa sera implementar una funcion que
>>> ordene el paquete que se lee, puesto en los casos malos lees algo asi:
>>> 0:0:0:0:0:255:255:4:5:5:4
>>> Hacer una funcion que si o si, siempre trate de mover el los numeros al
>>> comienzo buscando en el arreglo los 255:255 que debes ser algo asi como
>>> "inicio del paquete", lo importante seria que hacia la cola no se
>>> pierdan en la lectura, en ese caso tal vez deberia dejarse el buffer de
>>> lectura un poco mas largo...
>>>
>>> Me cuentas como resulta...
>>>
>>> Mauricio
>>>
>>>>
>>>> ---
>>>> ---
>>>> ------------------------------------------------------------------
>>>>
>>>> ---
>>>> ---
>>>> ---
>>>> ---
>>>> ------------------------------------------------------------------
>>>> Come build with us! The BlackBerry® Developer Conference in SF, CA
>>>> is the only developer event you need to attend this year. Jumpstart
>>>> your
>>>> developing skills, take BlackBerry mobile applications to market and
>>>> stay
>>>> ahead of the curve. Join us from November 9-12, 2009. Register
>>>> now!
>>>> http://p.sf.net/sfu/devconf
>>>> ---
>>>> ---
>>>> ------------------------------------------------------------------
>>>>
>>>> _______________________________________________
>>>> Monobotics-develop mailing list
>>>> Mon...@li...
>>>> https://lists.sourceforge.net/lists/listinfo/monobotics-develop
>>>>
>>>
>>>
>>> ---
>>> ---
>>> ---
>>> ---------------------------------------------------------------------
>>> Come build with us! The BlackBerry® Developer Conference in SF, CA
>>> is the only developer event you need to attend this year. Jumpstart
>>> your
>>> developing skills, take BlackBerry mobile applications to market and
>>> stay
>>> ahead of the curve. Join us from November 9-12, 2009. Register
>>> now!
>>> http://p.sf.net/sfu/devconf
>>> _______________________________________________
>>> Monobotics-develop mailing list
>>> Mon...@li...
>>> https://lists.sourceforge.net/lists/listinfo/monobotics-develop
>
|