ZigBee的基本配置、时钟、串口、波特率

2 篇文章 3 订阅
2 篇文章 0 订阅

I/O的输出配置:

1.配置端口为普通I/O口模式,非片上外设模式。(SEL寄存器)

2.设置I/O口为输出模式。(DIR寄存器)

I/O口输入配置:

1.配置端口为普通I/O口模式,非片上外设模式。(SEL寄存器)

2.配置I/O口为输入模式。(DIR寄存器)

3.配置引脚为上下拉模式。(INP寄存器)

4.配置引脚为上拉模式。(P2INP寄存器)

配置32M作为高频时钟源:

void Init32M() //将32M作为CC2530的高频时钟源

{

SLEEPCMD &=0xFB; //开启两个高频时钟

while(0 == (SLEEPSTA & 0x40)); //等待32M时钟稳定

delay(63,63);

CLKCONCMD &=0xF8; //表示不分频输出

CLKCONCMD &=0xBF; //设置32M作为系统时钟

while(CLKCONSTA & 0x40); //表示已经转换成32M的时源

}

时钟

1.CC2530在正常运行的时候需要一个高频时钟信号和一个低频时钟信号

        高频时钟信号,主要供给CPU,保证程序的运行。

        低频时钟信号,主要供给看门狗、睡眠定时器等片上外设

2.时钟信号的来源:

        高频信号有两个,芯片内部的16M RC电路;外接的32M石英晶振。

        低频信号也有两个来源,芯片内部的32K RC电路,外接的32.768k石英晶振。

3.CC2530芯片默认上电的时候,是内部的两个RC电路作为高频和低频的时钟来源。

4.如果使用串口,特别是无线通信的时候,必须要用32M的石英晶振作为高频时钟。

5.高频时钟源特点:

        2个高频时钟源可以同时起振产生高频信号;

        而两个低频时钟,某一时刻只能由一个起振,并且起振的这个时钟供给CC2530

时钟信号16M转换为32M的时钟信号

1、让SLEEPCMD的第2位为0;

2、SLEEPSTA寄存器的第6位为1表示32M时钟源稳定

3、超过63us延时

4、把寄存器CLKCONCMD的低3位,设置为000,表示不分频输出

5、把寄存器CLKCONCMD的第6位,清0,设置32M作为系统主时钟

6、如果读CLKCONSTA这个寄存器的第6为0,表示32M的时钟源已经作为了当前的系统主时钟,程序可以往下运行了。

USART 0

RT:RXDATA 表示接收

TX:TXDATA 表示发送

串口配置步骤

1、指定串口的IO位置;

2、相应IO配置成偏上外设功能;

3、8个数据位、1个停止位、无流控制、无校验确立;

4、波特率;

5、开CPU中断、对应串口接收中断。

波特率的计算和相应寄存器的配置

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值