Re: [Monobotics-develop] [ES] Desorden al realizar lecturas desde SerialPort
Brought to you by:
buhochileno
|
From: Jaime A. <obe...@ho...> - 2009-09-21 01:37:33
|
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 timeout? >> 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 > |