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

 

转载于:https://www.cnblogs.com/lixiaomo/p/5451934.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值