Paso 5: comunicación
Esta sección le dará una visión general de la UART periférico y cómo configurar rx/tx en el PAC5210.
El UART periférico está conectado a los puertos rx/tx en el tablero ubicado en la PE2 y PE1, respectivamente. Esto es donde usted conecta el receptor de RF o el módulo de bluetooth. La Junta está configurada para conectar UART a USB por defecto por lo que puede depurar el código de comunicaciones antes de pasar a la comunicación inalámbrica. Hay un bloque en medio de la plataforma HydraX que tiene 4 interruptores. Los dos superiores corresponden a la vinculación de la UART y cambiando a los dos switches, activar el PE1 y PE2 para comunicarse con los periféricos UART.
La primera foto de arriba muestra el código que utilizo para configurar el UART. También tengo algunos cálculos de ejemplo para el cierre y divisor fraccional, que se utilizan para describir la configuración del sistema a la UART periférica.
Después de la configuración es necesario definir un controlador que se llama cuando se activa una interrupción de la UART. Se debe tener el nombre definido como: void UART_IRQHandler(void). Esto es lo que busca el sistema cuando se activa la interrupción de la UART. El cuadro siguiente demuestra algunas más código Max me recorrió.
El último paso es escribir la función que procesa el mensaje de entrada. En el código anterior, esta función se llama uart_messgae_process(), pero puede ser llamado cualquier cosa. Tienes que tener un interruptor o alguna otra estructura de control de flujo que ejecutará únicamente dependiendo de qué datos se recibió. Al final del proceso, deben generar un mensaje de vuelta para dar retroalimentación sobre lo que sucedió. Los mensajes entrantes y salientes deben tener un octeto de "mensaje de inicio" que está recibiendo cualquier dispositivo donde se produce el inicio del mensaje. A continuación, un mensaje de Estado debe ser incluido, seguido por cualquier datos que enviar. Por último, algún método de verificación y validación de datos debe ser implementado para asegurar que la transmisión no fue dañada en el camino. Usé una suma de 8 bits del mensaje como una suma de comprobación y había salvado en el último byte del mensaje.
La siguiente parte de la comunicación es conseguir que el transceptor inalámbrico para enviar y recibir mensajes en el formato descrito en el código de la UART. Hay un montón de guías disponibles para escribir aplicaciones de Bluetooth y la mayoría de los el procesamiento de mensajes de transceptor será análoga a la UART el procesamiento del mensaje, así que te dejo para personalizar la parte.