ZigBee 裸机 uart 配置

一、   usart 数据发送

1、 usart介绍

1)cc2530中,有两个串口,

UART0 对应的外部设备 IO 引脚关系为:P0_2------RX, P0_3------TX

UART1 对应的外部设备 IO 引脚关系为:P0_5------RX, P0_4------TX

2)模式

    UART 模式和 SPI 模式

2、 uart 配置

1) CLKCONCMD&=~0x40;   // 选择系统时钟源为外部 32MHzcrystaloscillator。

2) while(CLKCONSTA&0x40); // 等待晶振稳定

3) CLKCONCMD&=~0x47;   // 设置系统主时钟频率 32MHZ

 

4) PERCFG=0x00;         //位置 1P0 口

5) P0SEL=0x3c;           //P0_2,P0_3 用作串口(IO 复用)

6) P2DIR&=~0XC0;        //P0 优先作为 UART0 ,优先级

7) U0CSR|=0x80;         //UART 方式

8) U0GCR|= 11;          //U0GCR 与 U0BAUD 配合

9) U0BAUD|=216;        // 波特率设为 115200

10)  UTX0IF =0;           //UART0TX 中断标志初始置位 1(收发时候)

3、 其他

      当 USART 收/发数据缓冲器、寄存器 UxBUF 写入数据时,该字节发送到输出引脚 TXDx。UxBUF 寄存器是双缓冲的。当字节传送开始时,UxCSR.ACTIVE 位变为高电平, 而当字节传送结束时为低。当传送结束时,UxCSR.TX_BYTE 位设置为 1。 当 USART 收/发数据缓冲寄存器就绪,准备接收新的发送数据时,就产生了一个中断请求。该中断在传送开始之后立刻发生,因此,当字节正在发送时,新的字节能够装入数据缓冲器。

 

二、 uart 数据接收

CLKCONCMD&=~0x40; // 设置系统时钟源为 32MHZ 晶振

while(CLKCONSTA&0x40); // 等待晶振稳定

CLKCONCMD&=~0x47;// 设置系统主时钟频率为 32MHZ

 

 

PERCFG=0x00; //位置 1P0 口

P0SEL=0x0c; //P0_2,P0_3 用作串口,第二功能

P2DIR&=~0XC0; //P0 优先作为 UART0 ,优先级

U0CSR|=0x80; //UART 方式

U0GCR|= 11; //U0GCR 与 U0BAUD 配合

U0BAUD|=216; // 波特率设为 115200

UTX0IF =0; //UART0TX 中断标志清 0

U0CSR|=0X40; //允许接收

URX0IE=1; //接收中断

EA=1; //开总中断, 

 

posted @ 2016-05-02 09:55  骄阳红枫  阅读(556)  评论(0编辑  收藏  举报