El puerto serie Qt envía, el microcontrolador recibe un código confuso
Método de interrupción:
Utilice ICC para generar el programa de inicialización
#pragma interrupt_handler uart0_rx_isr: iv_USART0_RXC
void uart0_rx_isr(void) p >
{ // ¿uart ha recibido caracteres en UDR?
// La interrupción de finalización de recepción no está habilitada
// AVR no tiene el concepto de prioridad de interrupción. No acepta nuevas interrupciones antes de que se complete el procesamiento de la interrupción. no es necesario desactivar la interrupción de recepción
?RX_Buffer[i]=UDR
// delay(5
i ;
?if(i==12)
?{ ?
i=0
bandera=1; //delay(5);
?}
// UCSRB|=BIT(RXCIE); ?//Recibir habilitación de interrupción completa
} p>
Modo de consulta
void USART_Received_Ir()
{
if (! (?UCSRBamp; BIT(RXC)))//No hay nuevo datos recibidos
{return }// return
?RX_Buffer[i]=UDR
// retraso(5); p>yo;
si(i==12)
?{?
i=0; ;
//delay( 5);
?}
}
Luego entro a la función principal
USART_Received_Ir();
if(flag==1)
{
flag=0;
USART_Send(RX_Buffer[ 0]);
retraso( 1);
USART_Send(RX_Buffer[1]);
retraso(1); USART_Send(RX_Buffer[2]);
}