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

📄 uart.c

📁 cc2430的好串口
💻 C
字号:

/**************************************UART.C*******************************************
文件名  :      UART.C
目标    :      cc2430
创建日期:      2008/05/6
修改日期:      2008/05/8
版本    :      version 1.0
作者    :      刘旭
功能描述:      提供UART与用户应用程序的接口,此文件提供了操作UART的接口函数.
****************************************头文件*****************************************/
#include"UART.H"
//**********************************函数声明******************************************
void   UartInit(INT32U BaudRate,INT8U StopBits,INT8U Parity);    //UART0通信初始化
INT8U  Uart0Receive(void);                                       //UART0接受数据
void   Uart0Send(INT8U data);                                    //UART0发送数据
//**********************************UART0通信初始化*************************************
// 函数:  void  UartInit(INT16U BaudRate,INT8U StopBits,INT8U Parity)
// 描述:  初始化UART
// 参数:  BaudRate, StopBits, Parity
// 说明:  BaudRate:设置波特率,StopBits:设置停止位,Parity:设置奇偶校验
// 例如:  UartInit(9600,ONE_STOP_BITS,NO_PARITY )
//***************************************************************************************
void  UartInit(INT32U BaudRate,INT8U StopBits,INT8U Parity)
{
   P0SEL |=  0x0C;                  //初始化UART0端口
   PERCFG&= ~0x01;                  //选择UART0为可选位置一
   U0CSR = 0xC0;                   //设置为UART模式,而且使能接受器
   U0GCR  = BAUD_E(BaudRate);
   U0BAUD = BAUD_M(BaudRate);      //设置UART0波特率
   U0UCR |= StopBits|Parity;        //设置停止位与奇偶校验
}
//**********************************UART0发送数据*************************************
// 函数:  void  Uart0Send(INT8U data)
// 描述:  UART0发送数据
// 参数:  data
// 说明:  要发送的一个字节数据
// 例如:  Uart0Send(0x30)
//************************************************************************************
void  Uart0Send(INT8U data)
{
  while(U0CSR&0x01);    //等待UART空闲时发送数据
  U0DBUF = data;
}
//**********************************UART0接受数据*************************************
// 函数:  INT8U  Uart0Receive(void)
// 描述:  UART0接受数据
// 参数:  无
// 说明:  此函数返回数值
// 例如:  Uart0Receive();
//************************************************************************************
INT8U  Uart0Receive(void)
{
  INT8U data;
  while(!(U0CSR&0x04)); //查询是否受到数据,否则继续等待
  data=U0DBUF;
  return data;
}

⌨️ 快捷键说明

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