Red de conocimiento informático - Problemas con los teléfonos móviles - El puerto serie Qt envía, el microcontrolador recibe un código confuso

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)

{ // ¿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

}

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]);

}