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; //开总中断,