CC2530 GPIO口输出配置说明

描述

第一章 原理图分析

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

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

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

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

寄存器

寄存器

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

寄存器

寄存器

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

寄存器

寄存器

第二章 输出模式配置

寄存器

寄存器

寄存器

寄存器

寄存器

第三章 配置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软件跳转功能

寄存器

寄存器

第四章 延时函数生成

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

寄存器

第五章 CC2530时钟介绍

(1)

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

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

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

(2)

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

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

(3)

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

(4)

如果我们在用串口,特别是无线通信的时候,必须要用32M的石英晶振,作为高频时钟来源

在协议栈中,需要从16M切换到32M晶振!!

(5)

高频时钟源特点:

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

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

系统高频时钟源切换的步骤:

1,让2个高频时钟源起振

2,等待目标时钟源振荡稳定

3,延时一小段时间63us

4, 不分频输出

5,选中目标高频时钟源作为系统主时钟

6,确认一下当前工作的系统时钟是不是所选的高频时钟,涉及的寄存器:SLEEPCMD SLEEPSTA CLKCONCMD CLKCONSTA

Chipcon 公司,推出了CC2430/1,TI将其收购,发展出了CC2530

1,让SLEEPCMD的第2位为0

2,SLEPPSIA寄存器的第6位为1表示时钟源稳定

3,超过63us延时

4,不分频输出:把寄存器CLKCONCMD第三位设置成000

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

6,读寄存器CLKCONSTA的第六位为0,表示当前32M的时钟源已经做为了当前的系统主时钟,程序可以向下运行了

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分