Zigbee自学
记录学习过程中的一些想法,硬件设备和学习资料均来自安联德(淘宝)
一、串口通讯
CC2530有两个串行通讯接口USART0和USART1,对应的引脚位置分别为:
位置1:RX0----P0_2 TX0----P0_3
位置2:RX0----P1_4 TX0----P1_5
位置1:RX1----P0_5 TX1----P0_4
位置2:RX1----P1_7 TX1----P1_6
通过PERCFG寄存器设置对应引脚的位置。
1.串口输入
串口设置:
void InitUart(void)
{
PERCFG = 0x00; //外设控制寄存器 USART 0的IO位置:0为P0口位置1
P0SEL = 0x0c; //P0_2,P0_3用作串口(外设功能)
P2DIR &= ~0XC0; //P0优先作为UART0
U0CSR |= 0x80; //设置为UART方式
U0GCR |= 11;
U0BAUD |= 216; //波特率设为115200
UTX0IF = 0; //UART0 TX中断标志初始置位0
}
- PERCFG:选择端口及端口的位置
- P0SEL:根据选择的端口位置设置引脚
- P2DIR:选择中断优先级
- U0CSR:串口0控制
- U0GCR和U0BAUD为波特率控制
主函数:
void main(void)
{
CLKCONCMD &= ~0x40; //设置位OSC,系统时钟源为32MHZ晶振,
while(CLKCONSTA & 0x40); //等待晶振稳定为32M
CLKCONCMD &