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

📄 uart.c

📁 采用32位嵌入式芯片SPCE3200(凌阳)设计的开发板,具有多媒体功能。其中包含了网络、SD卡、TV、UART等是全部十个C程序。
💻 C
字号:
//=============================================================
// 文件名称:	UART.c
// 功能描述:	UART发送和接收子程序
//维护记录:
//			2007.01.16		V1.0	by wangtao <wangtao@sunnorth.com.cn>
//=============================================================
#include "SPCE3200_Register.h"
#include "SPCE3200_Constant.h"

//=============================================================
// 语法格式:	void UART_Initial(int BaudRate);
// 实现功能:	初始化SPCE3200的UART模块
// 参数:		BaudRate:	波特率代码
// 返回值:		无
//=============================================================
void UART_Initial(int BaudRate)
{
    *P_UART_CLK_CONF = 0x0000;
	*P_UART_CLK_CONF = C_UART_CLK_EN | C_UART_RST_DIS;	// UART 时钟配置
    *P_UART_BAUDRATE_SETUP = BaudRate;					// 传输波特率设置
    
    *P_UART_MODE_CTRL = C_UART_EVEN_PARITY				// 偶校验
                   | C_UART_STOP_1BIT					// 1位停止位
                   | C_UART_DATA_8BIT					// 数据长度为8bit
                   | C_UART_CTRL_EN						// 使能UART
                   ;
}

//=============================================================
// 语法格式:	void UART_SendChar(char cData);
// 实现功能:	通过UART的数据发送端口,串行发送一个字符数据
// 参数:		cData:	待发送的字符数据
// 返回值:		无
//=============================================================
void UART_SendChar(char cData)
{
    while(*P_UART_TXRX_STATUS & C_UART_TXFIFO_FULL);	// 发送FIFO满则等待?
    *P_UART_TXRX_DATA = cData;
	while(*P_UART_TXRX_STATUS & C_UART_BUSY_FLAG);		// 等待发送完成
}

//=============================================================
// 语法格式:	char UART_GetChar();
// 实现功能:	通过UART的数据接收端口,串行接收一个字符数据
// 参数:		无
// 返回值:		接收到的字符数据
//=============================================================
char UART_GetChar()
{
    char cData = 0;
    int i=0;
    
    while(*P_UART_TXRX_STATUS & C_UART_RXFIFO_EMPTY)	// 接收FIFO为空则等待
    {
    	i++;
    	if(i==100000)break;
    }
    if(i==100000)
    	cData = 0xFF;
    else
    	cData = *P_UART_TXRX_DATA;						// 取一个数据
    
    return cData;
}

⌨️ 快捷键说明

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