⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uart.c

📁 实现LPC2220的UART的中断接受
💻 C
字号:

#define UART_IN

#include  "config.h" 
               

/****************************************************************************
* 名    称:Uart_SendByte()
* 功    能:向串口UART0发送字节数据。
* 入口参数:data  要发送的数据
* 出口参数:无
****************************************************************************/
void  Uart_SendByte(uint8 data)
{  
    U0THR = data;                      		// 发送数据
    while((U0LSR&0x40)==0);
}
/****************************************************************************
* 名    称:Uart_GetByte()
* 功    能:向串口UART0接受一个字符
* 入口参数:无
* 出口参数:返回接收到的字符
****************************************************************************/
uint8 Uart_GetByte(void)
{
	uint8 indata;
	while((U0LSR&0x01)==0);
	indata=U0RBR;
	return indata;
}
/****************************************************************************
* 名称:Uart_SendStr()
* 功能:将一个字符串发送出去
* 入口参数:Str 字符串首地址
* 出口参数:无
****************************************************************************/
void  Uart_SendStr(unsigned char *Str)
{   
    while(*Str!='\0')
    {
    	Uart_SendByte(*Str);
    	Str++;
    }
}               

/****************************************************************************
* 名    称:UART0_Init()
* 功    能:初始化串口0。设置其工作模式及波特率。
* 入口参数:baud   波特率
*           set    模式设置(UARTMODE数据结构)
* 出口参数:返回值为1时表示初化成功,为0表除参数出错
****************************************************************************/
uint8  Uart_Init(uint32 baud, UARTMODE set)
{   
	uint32  bak;
	
    /* 设置串口波特率 */
    U0LCR = 0x80;                        	// DLAB位置1
    bak = (Fpclk>>4)/baud;
    U0DLM = bak>>8;
    U0DLL = bak&0xff;
   
    /* 设置串口模式 */
    bak = set.datab-5;                   	// 设置字长度
    if(2==set.stopb) 
    {
       bak |= 0x04;				        	// 判断是否为2位停止位  
    }
    if(0!=set.parity) 
    {
        set.parity = set.parity-1; 
        bak |= 0x08;
    }
    bak |= set.parity<<4;              		// 设置奇偶校验
    
    U0LCR = bak;                          //原代码是这个 
    //U0LCR = bak&0x7f; //这个是我自己改的    

    return(1);
}
        

⌨️ 快捷键说明

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