En esta práctica utilizaremos lo que hicimos tanto para hacer la comunicación RS232 con un dispositivo móvil como el protocolo I2C para leer el valor de un acelerómetro.
Vamos a leer los tres ejes del acelerómetro (x, y y z) y lo enviaremos para mostrarlo en nuestro dispositivo, para de esta forma saber la posición en la que se encuentra el sensor de forma remota.
El primer paso será crear prototipos de funciones para cada acción:
void acel_init(); //Función para inicializar el acelerómetro void escritura_acel(unsigned int registro, unsigned int dato); //Función para escribir con I2C int leer_x(); //Función para leer el eje x int leer_y(); //Función para leer el eje y int leer_z(); //Función para leer el eje z
En cada una de esas funciones tendremos que definir los registros o el proceso a realizar, de forma similar a la práctica del acelerómetro, para que de esta forma nuestro programa principal termine más legible, en él lo que realizaremos, será la configuración de los puertos de entrada y salida, llamar las funciones creadas previamente y el envío por RS232 de la información recibida del acelerómetro.
Quedándonos el siguiente código: