¿Qué es este blog?

La idea de este blog nace para compartir los avances que se vayan realizando a lo largo de un estudio sobre cómo interconectar los distintos sensores que se pueden encontrar en el mercado, o fabricar de forma casera, con la plataforma Mindstorms de LEGO. Para ello se hará uso ARDUINO, un entorno de desarrollo abierto basado en microcontrolador.

lunes, 10 de enero de 2011

Manejo del protocolo RS-485 mediante PbLua


Veamos cómo trabajar usando este protocolo con el lenguaje pbLua. En primer lugar tenemos la función siguiente:
rate = nxt.RS485Enable( rate )
 
Esta función inicializa la interfaz para la comunicación. Un valor de cero, apaga la interfaz, mientras que cualquier otro valor la deja preparada para la comunicación. El puerto se va a configurar con una velocidad mayor o igual que la indicada en campo “rate”, y con 8 bits de datos, sin paridad y con un bit de parada. Por ejemplo, si especificamos una tasa de 1000, el puerto se configurará con 1200, que es el valor superior más cercano existente que está disponible.
Otra función itneresante es la siguiente:
nxt.RS485SendData( string )
Envía los bytes de la cadena al puerto de alta velocidad. Se envía un máximo de 128 bytes cada vez. Hay que tener en cuenta que no existe ninguna manera de saber si la interfaz está preparada para recibir más datos. El firmware original de LEGO llama a esta función una vez cada milisegundo, y el puerto envía aproximadamente 100 caracteres por milisegundo, con lo que no es muy probable que se produzca un desbordamiento.

Finalmente, otra función que nos va a resultar útil es la que se muestra a continuación:
string = nxt.RS485RecvData( )
 
Nos devuelve los caracteres disponibles en el buffer de recepción del puerto. 

-------------------------------------------------------------------------------------------------------------

Referencias: 

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.