Colección de citas famosas - Slogan de motivación - La interrupción de recepción del puerto serie del microcontrolador 51 recibe cadenas continuamente, ¿la interrupción consume tiempo de CPU hasta que se recibe la cadena?
La interrupción de recepción del puerto serie del microcontrolador 51 recibe cadenas continuamente, ¿la interrupción consume tiempo de CPU hasta que se recibe la cadena?
La declaración del primer piso es obviamente incorrecta. Cuando el puerto serie recibe un carácter (8 bits), RI se establecerá automáticamente en 1 y la CPU cambiará del programa principal para realizar una interrupción en serie. Los microcontroladores ordinarios de puerto serie único 51 generalmente interrumpen 4 subrutinas y, una vez finalizadas, regresarán automáticamente al programa principal para continuar con la ejecución. Por lo tanto, RI debe borrarse del final de la subrutina de interrupción 4.
El método de procesamiento general en el programa principal de la interrupción 4 es transferir los datos en el registro receptor SBUF al búfer predefinido. Tenga en cuenta que es necesario cambiar el caché al aceptar cadenas. La rutina es la siguiente:
Interrupción serie no válida () interrupción 4
{
temperatura uchar;
rec_data[i++ ]= SBUF; // rec_data es un búfer de recepción predefinido que se puede recibir continuamente hasta que necesite datos en serie.
RI = 0; //La señal de interrupción de recepción se borra, lo que indica que la recepción continuará.
}