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

📄 uart.#1

📁 美新公司加速度芯片MXC6020,IIC接口 用C8051f320自带IIC控制器对该加速度芯片进行读写操作,并带信号处理算法
💻 #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 + -