CC2530(zigbee)入门开发: 点亮LED灯(输出)

举报
DS小龙哥 发表于 2022/02/28 09:23:21 2022/02/28
【摘要】 CC2530核心板上带有两颗晶振:第一颗频率为32MHZ,第二颗频率为32.768KHZ CC250正常运行的时候,需要一个高频的时钟信号和一个低频的时钟信号。

第一章 原理图分析

CC2530核心板上带有两颗晶振:第一颗频率为32MHZ,第二颗频率为32.768KHZ

CC250正常运行的时候,需要一个高频的时钟信号和一个低频的时钟信号。

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

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

image.png

image.png

按键IO口接线(按键是接在底板上的)

image.png

image.png

LED灯接线(LED是接在底板上的)

image.png

image.png

第二章 输出模式配置

image.png

image.png

image.png

image.png

image.png

第三章 配置LED灯代码示例

代码示例:

#include <ioCC2530.h>

//定义LED灯的端口
#define LED1 P1_2
#define LED2 P1_3

/*
函数功能:LED灯IO口初始化
硬件连接:LED1-->P1_2 , LED2-->P1_3
*/
void LED_Init(void)
{
    P1DIR |=0x3<<2;  //配置P1_2、P1_3为输出模式
    LED1 = 1;
    LED2 = 1;
}

/*延时200毫秒*/
void delay200ms(void)   //误差 -0.125us
{
    unsigned char a,b,c;
    for(c=95;c>0;c--)
        for(b=181;b>0;b--)
            for(a=14;a>0;a--);
}

/*主函数*/
void main(void)
{
    LED_Init();//初始化LED灯控制IO口	
    while(1)          
    {  
       LED1 = !LED1;     
       LED2 = !LED2;
       delay200ms();           
    }
}

IAR软件跳转功能

image.png

image.png

第四章 延时函数生成

注意:默认使用内部晶振为16MHZ

image.png

第五章 CC2530时钟介绍

时钟信号介绍:
正常情况下,CC250需要一个高频的时钟信号和一个低频的时钟信号。
其中高频时钟信号,主要供给CPU,保证程序的运行,而低频时钟信号,主要供给看门狗、睡眠定时器等片上外设。

高频时钟信号有两个来源:芯片内部的16M RC电路,另外一个是外接一个32M的石英晶振
低频时钟信息也有两个来源:一个是芯片内部的32K RC电路,另外一个是外接的32.768K 的石英晶振

注意事项:
1. CC2530芯片默认上电的时候,是内部的2RC电路作为高频和低频的时钟来源。
2. 在使用串口,无线通信的时候,需要使用32M的石英晶振,作为高频时钟来源。

高频时钟源特点:
2个高频时钟源可以同时起振产生高频时钟信号,2个低频时钟源,某一时刻只能有一个时钟源起振,并且起振的这个时钟源供给CC2530。


系统高频时钟源切换的步骤:
1,2个高频时钟源起振
2,等待目标时钟源振荡稳定
3,延时一小段时间63us
4,不分频输出
5,选中目标高频时钟源作为系统主时钟
6,确认一下当前工作的系统时钟是不是所选的高频时钟,涉及的寄存器:SLEEPCMD  SLEEPSTA CLKCONCMD  CLKCONSTA

详细操作:
7,SLEEPCMD的第2位为0
8,SLEPPSIA寄存器的第6位为1表示时钟源稳定
9,超过63us延时
10,不分频输出:把寄存器CLKCONCMD第三位设置成000
11,把寄存器CLKCONCMD的第六位清0,设置32M做为系统的主时钟
12,读寄存器CLKCONSTA的第六位为0,表示当前32M的时钟源已经做为了当前的系统主时钟,程序可以向下运行了

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。