📄 uart.#1
字号:
#include "MEMSIC.h"
/****************************************************************************
** 函数名称: UART0_Init()
** 功能描述: 串口0初始化.
** 入口参数: 无
** 出口参数: 无
** 说明: 设置工作模式,定义波特率发生器等.
****************************************************************************/
void UART0_Init(void)
{
SCON0 = 0x10;
}
/****************************************************************************
** 函数名称: UART0_SetBaudRate()
** 功能描述: 串口0波特率设置.
** 入口参数: uiBaudRate,波特率,如9600等.
** 出口参数: 无
** 全局变量: 使用定时器T4.
** 调用模块: 无
****************************************************************************/
void UART0_SetBaudRate(uint8 uiBaudRate)
{
switch(uiBaudRate)
{
case 3: //Baudrate 4800bps
TH1 = 0x98;
TL1 = 0x98;
break;
case 2: //Baudrate 9600bps
TH1 = 0xcc;
TL1 = 0xcc;
break;
case 1: //Baudrate 19200bps
TH1 = 0xe6;
TL1 = 0xe6;
break;
default: break;
}
}
/****************************************************************************
** 函数名称: UART0_SendByte()
** 功能描述: 串口0发送1个字节.
** 入口参数: ucDATA(要发送的数据)
** 出口参数: 无
** 说明:
****************************************************************************/
bit UART0_SendByte(uint8 ucDATA)
{
uint16 data TimOutCnt;
TimOutCnt = 0;
TI0 = 0;
SBUF0 = ucDATA;
while( TI0 != 1 )
{
TimOutCnt++;
if(TimOutCnt > 50000) //
return 1; // Time OUT!
}
return 0;
}
/****************************************************************************
** 函数名称: UART0_RecvByte()
** 功能描述: 串口0接收1个字节.
** 入口参数: 无
** 出口参数: 接收到的数据,否则返回0xaa.
** 说明:
****************************************************************************/
uint16 UART0_RecvByte(void)
{
uint16 data TimOutCnt;
uint8 data ucTMP;
TimOutCnt = 0;
RI0 = 0;
while( RI0 != 1 ) // Wait for
{
TimOutCnt++;
if(TimOutCnt > 50000)
return 0x8000; // Time OUT!
}
ucTMP = SBUF0; // Receive DATA
return ucTMP;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -