#include <ioCC2530.h>
#define uchar unsigned char
#define uint unsigned int
void InitUart(); //初始化串口
void Uart_Send_String(unsigned char *Data,int len);
/****************************************************************
串口初始化函數(shù)
***********************************************************/
void InitUart()
{
CLKCONCMD &= ~0x40; // 設(shè)置系統(tǒng)時鐘源為 32MHZ晶振
while(CLKCONSTA & 0x40); // 等待晶振穩(wěn)定
CLKCONCMD &= ~0x47; // 設(shè)置系統(tǒng)主時鐘頻率為 32MHZ
PERCFG&=~0x01; //有2個備用位置,0使用備用位置1;1使用備用位置2
P0SEL |= 0x0C; //P0_2 RXD P0_3 TXD 外設(shè)功能 0000 1100
U0CSR |= 0xC0; //串口接收使能 1100 0000 工作UART模式+允許接受
U0UCR |= 0x00; //無奇偶校驗,1位停止位
U0GCR |= 11; //U0GCR與U0BAUD配合
U0BAUD |= 216; // 波特率設(shè)為115200
IEN0 |= 0X04; //開串口接收中斷 'URX0IE = 1',也可以寫成 URX0IE=1;
EA=1;
}
void Uart0_SendCh(char ch)
{
U0DBUF = ch;
while(UTX0IF == 0);
UTX0IF = 0;
}
/****************************************************************
串口發(fā)送字符串函數(shù)
****************************************************************/
void Uart_Send_String(unsigned char *Data,int len)
{
{
int j;
for(j=0;j<len;j++)
{
Uart0_SendCh(*Data++);
}
}
}
|