Estoy haciendo soporte UART para la placa Arduino Due basada en SAM3x8e. Me gustaría aclarar las preguntas que no puedo resolver buscando en la web.
-
¿Es solo un controlador de IRQ por componente de MCU como USART? Esto significa que debo usar el registro de componente status para averiguar qué evento ocurrió exactamente?
-
¿Es suficiente definir una función con un nombre predefinido como
void USART0_Handler(void) {}
para el componente USART0 y USART1_Handler para USART1 y etc.?
- El MCU tiene dispositivos (componentes) UART, USART0, USART1, USART2, USART3 a bordo. Miré en el código fuente de arduino, exactamente
arduino-1.5.7/hardware/arduino/sam/variants/arduino_due_x/variant.cpp
y vea que para serial0 se usa el componente UART, para serial1 se usa USART0, para serial2 - USART1 y para serail3 - USART3. El USART2 ni siquiera se menciona. La pregunta ¿por qué se hace esto de esa manera? ¿Qué significa UART, USART0, USART1, USART2, USART3? Me gustaría saber qué nombres debo usar para comunicarme correctamente a través de los pines de la placa como TX0 / RX0, TX1 / RX1 y etc.
Gracias de antemano.