CC2530学习(一)环境配置

CC2530F256是一款将各种丰富的功能系统地集成到一片LSI(Large-Scale Integrated circuit,大规模集成电路)的片上系统(System on Chip,简称SoC)内嵌增强型51内核的单片机,芯片后缀256代表它具有256KB的Flash,它结合了德州仪器(Texas Instruments,简称TI)的业界领先的ZigBee协议栈(Z-Stack™)。

文章目录

      • 一、新建工作环境
      • 二、新建项目
      • 三、新建文件
      • 四、修改文件
      • 五、编译前准备
        • (一)、选择设备(Device)
        • (二)、选择链接器(Linker)
        • (三)、选择调试器(Debugger)
          • 1、CC Debugger驱动下载
          • 2、SmartRF Studio
      • 六、编译和烧录项目
      • 七、测试结果

一、新建工作环境

打开IAR后先点击菜单栏File,然后新建工作区并保存为项目的位置。

CC2530学习(一)环境配置_第1张图片

图一 新建工作区

二、新建项目

点击菜单栏project然后点Create New Project,弹出界面点toolchain为8051,然后点击OK,改名就新建完项目了。

CC2530学习(一)环境配置_第2张图片

图二 新建项目

CC2530学习(一)环境配置_第3张图片

图三 选择工具链

三、新建文件

点击菜单栏上File->New File创建一个untitle的文件,点击保存。保存完后在项目名处右键弹出Add,然后添加刚保存的文件即可。

CC2530学习(一)环境配置_第4张图片

图四 新建文件

CC2530学习(一)环境配置_第5张图片

图五 添加文件

四、修改文件

将修改刚刚保存的led.c文件为如下代码所示。

#include 

#define LED1 P0_0//灯阴极接地,阳极经过1K电阻接P0.0
#define KEY1 P0_1//KEY1接上拉电阻连接到按键,按键另一端接地,按下时为P0.1为低电平

void delay_ms(int t)//大约延时1ms
{
  int j;
  for(;t>0;t--)
    for(j=600;j>0;j--);
}

void LED_Init(void)//LED初始化
{
  P0SEL &= ~0X01;//设置P0.0为普通IO口,~代表按位取反,~0x01==0xFE,将最低位设置为0
  P0DIR |= 0X01;//设置P0.0为输出模式
  P0INP &= ~0X01;//设置最低位为0,即配置P0.0为上拉模式
  LED1 = 0;//熄灭灯
}

void Button_Init(void)//Button初始化
{
  P0SEL &= ~0X02;//设置P0.1为普通IO口
  P0DIR &= ~0X02;//设置P0.1为输入模式
  P0INP &= ~0X02;//设置P0.1为上拉模式
}

char Key_Scan(void)
{
  if(!KEY1)
  {
    delay_ms(10);//按键延时消抖
    while(!KEY1)//等待松开
      return 1;
  }
  else
    return 0;
  return 0;
}

void main(void)
{
  LED_Init();
  Button_Init();
  /*
  由于上述IO寄存器默认为0x00,所以在配置时也可简化为只配置灯为输出模式,即P0DIR |=0X01
  */
  while(1)
  {
    if(Key_Scan())//按一次按键,松开后灯的状态取反
      LED1 = ~LED1;
  }
}

CC2530的IO寄存器配置如下表一所示,以P0端口为例。

表一 P0端口寄存器描述
P0寄存器 寄存器描述
P0SEL(0xF3) P0功能设置寄存器,设置0时为普通IO,设置1时为复用AF功能
P0INP(0x8F) P0作为输入(Input)口时的模式寄存器,设置为0时为上拉输入,设置为1时高阻态
P0(0x80) P0可位寻址寄存器,可对整个P0端口同时进行操作
P0DIR(0xFD) P0输入输出口配置,设置0时为输入,设置1时为输出

五、编译前准备

(一)、选择设备(Device)

点击项目,然后点击菜单栏Project->Options,弹出界面,在General Options->Target->Device处修改为芯片型号(点击右面弹出选项Texas Instruments->CC25xx->3x->CC5230F256)。然后修改Code ModelNearData ModelLargeCalling conventionPDATA stack reentrant

想要知道IAR中某个选项代表什么意思,可以在选项上面按F1,会弹出帮助菜单!!!

CC2530学习(一)环境配置_第6张图片

图六 选择设备

(二)、选择链接器(Linker)

在Linker configuration file处点击Override default(取消默认)然后选择对应设备的linker文件,我这里选的是$TOOLKIT_DIR$\config\devices\Texas Instruments\lnk51ew_cc2530F256.xcl。链接器的作用可以在这篇文章看到。

CC2530学习(一)环境配置_第7张图片

图七 选择链接器

(三)、选择调试器(Debugger)

然后在点击左侧Debugger选择设备为TI(CC Debugger,一种烧录器),然后下面同样是点击Override default,然后设备描述文件选择io8051.ddf(因为CC2530本身就是51核的)。注意烧录的时候数据线接CC2530的P2.1,时钟脚接P2.2。

CC2530学习(一)环境配置_第8张图片

图八 选择调试器
1、CC Debugger驱动下载

驱动软件可以在TI官网下载。实在不懂的话可以在文章顶部的链接下载文档。

2、SmartRF Studio

SmartRF这款软件在后面调试可以看到信号强度和发送接收数据等详细信息,是一款非常好用的工具。
CC2530学习(一)环境配置_第9张图片

图九 SmartRF界面

六、编译和烧录项目

点击Make(快捷键F7)编译当前项目,然后连接好CC2530和调试器的下载线并点击Download and Debug(ctrl+D)。具体介绍如下。

注意调试接口使用的I/O引脚为P2.1和P2.2,他们分别作为调试模式中的调试数据(SWD)和调试时钟(SCLK)(可以用Jlink下载)。

CC2530学习(一)环境配置_第10张图片

图十 下载调试

七、测试结果

测试结果为按一次按键并松开后灯的状态取反。

你可能感兴趣的:(CC2530,Zigbee)