uart.h

来自「用Mega32+VS1003做的MP3(FAT32文件系统浏览)——源代码」· C头文件 代码 · 共 43 行

H
43
字号
#ifndef _UART_INCLUDED_
#define _UART_INCLUDED_
#include <mega32.h> 
//全为了调试方便 
uchar uart_order=0;
bit cmden=0;

#define UPE 2
#define OVR 3
#define FE 4  
#define FRAMING_ERROR (1<<FE)
#define PARITY_ERROR (1<<UPE)
#define DATA_OVERRUN (1<<OVR) 
 
// USART Receiver interrupt service routine
interrupt [USART_RXC] void usart_rx_isr(void)
{
    char status;
    status=UCSRA;  
    cmden=0;
    if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
    {
        uart_order=getchar();
        //uart_order=48; //得到实际值
        cmden=1;     
    };
} 
void uart_init(void)
{      
    // Communication Parameters: 8 Data, 1 Stop, No Parity
    // USART Receiver: On
    // USART Transmitter: On
    // USART Mode: Asynchronous
    // USART Baud Rate: 9600
    UCSRA=0x00;  
    UCSRB=0x08;//防止串口接收中断使系统运行故障!!!!!
    //UCSRB=0x98;
    UCSRC=0x86;
    UBRRH=0x00;
    UBRRL=0x67;    
    #asm("sei") //开中断
}
#endif 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?