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

📄 uart.c

📁 使用ads1.2编译器
💻 C
字号:
#ifndef _Include 
#include  "Include.h"
#endif
/****************************************************************************
* 名称:UART0Init()
* 功能:初始化串口0。设置为8位数据位,1位停止位,无奇偶校验,波特率为9600
****************************************************************************/
void  UART0Init(int baud)
{
	unsigned int Fdiv;

	PINSEL0=PINSEL0|0x00000005;
	
	U0LCR = 0x83;       // DLAB = 1,可设置波特率
	Fdiv = (Fpclk / 16) / baud;  // 设置波特率
	U0DLL= Fdiv % 256;      	//波特率设置
	U0DLM=  Fdiv / 256;      	//设置为8位数据位,1位停止位,无奇偶校验
	U0LCR = 0x03;       // DLAB = 0
	U0FCR = 0x00;		//FIFO控制寄存器
	U0IER = 0x01;		//中断使能

		/* 设置串行口0中断IRQ */
    VICVectAddr2 = (unsigned int)IRQ_UART0_Receive;
    VICVectCntl2 = (0x20 | VIC_UART0);
    VICIntEnable |= INT_UART0;	// 中断使能 串行口0
}
/****************************************************************************
* 名称:UART0_SendByte()
* 功能:向串口发送字节数据,并等待发送完毕。
* 入口参数:data		要发送的数据
* 出口参数:无
****************************************************************************/
void  UART0_SendByte(unsigned char data)
{  
	U0THR = data;				    // 发送数据
	while( (U0LSR&0x40)==0 );	    // 等待数据发送完毕

}



/****************************************************************************
* 名称:UART0_SendStr()
* 功能:向串口发送一字符串
* 入口参数:srt		要发送的字符串的指针
* 出口参数:无
****************************************************************************/
void  UART0_SendStr(unsigned char const *str)
{ 
	while(1)
	{  
		if( *str == '\0' ) break;
		UART0_SendByte(*str++);	    // 发送数据
	}
}

/****************************************************************************
* 名称:UART0_Receive()
* 功能:串口UART0接收
* 入口参数:无
* 出口参数:无
****************************************************************************/
unsigned char  UART0_Receive(void)
{  
	if( (U0IIR&0x0F)==0x04 ) return U0RBR; else return 0x00;    // 判断中断标志位,以确定是否为接收中断
}               

⌨️ 快捷键说明

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