CC2530学习(一)环境配置

2023-10-29

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

一、新建工作环境

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

在这里插入图片描述

图一 新建工作区

二、新建项目

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

在这里插入图片描述

图二 新建项目

在这里插入图片描述

图三 选择工具链

三、新建文件

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

在这里插入图片描述

图四 新建文件

在这里插入图片描述

图五 添加文件

四、修改文件

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

#include <ioCC2530.h>

#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,会弹出帮助菜单!!!

在这里插入图片描述

图六 选择设备

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

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

在这里插入图片描述

图七 选择链接器

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

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

在这里插入图片描述

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

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

2、SmartRF Studio

SmartRF这款软件在后面调试可以看到信号强度和发送接收数据等详细信息,是一款非常好用的工具。
在这里插入图片描述

图九 SmartRF界面

六、编译和烧录项目

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

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

在这里插入图片描述

图十 下载调试

七、测试结果

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CC2530学习(一)环境配置 的相关文章

  • STM32+Zigbee模块实现串口通信获取传感器数据

    文章目录 1 所用的资源2 Zigbee模块简介3 STM32板上用到的资源4 代码部分 1 所用的资源 1 两个Zigbee透传模块 2 两块32板 xff08 我手上的是VET6和RCT6的两块板子 xff09 xff0c 其它的板子也
  • keil C51 中使用虚拟串口调试串口

    功能介绍 xff1a 在不使用51开发板下 xff0c 使用keil C51中的软件仿真 和虚拟串口软件VSPD完成串口通信的过程 类似的还有一篇关于STM32调试串口的 keil MDK 中使用虚拟串口调试串口 操作步骤如下 xff1a
  • Zigbee技术有哪些特点

    ZigBee的特点主要有以下八个方面 xff1a xff08 1 xff09 低功耗 xff1a 在低耗电待机模式下 xff0c 2节5号干电池可支持1个节点工作6 24个月 xff0c 甚至更长 这是ZigBee的突出优势 相比之下蓝牙可
  • 从 C51+uCos-II 近距离了解操作系统任务切换原理

    前言 从 C51 43 uCos II 简单介绍下任务切换的原理 方便大家更形象的理解多任务怎么切换 为后续写 x86 43 Linux 任务切换做铺垫练手吧 参考资料如下 xff1a uCos II 源码 单片机原理与应用及 C51 编程
  • C51_day5:串口通信UART

    3 1 串口基本认知 串行接口简称串口 xff0c 也称串行通信接口或串行通讯接口 xff08 通常指COM接口 xff09 xff0c 是采用串行通信方式的扩展接口 串行接口 xff08 Serial Interface xff09 是指
  • zibgee协议

    1 概述 1 1解析ZigBee堆栈架构 ZigBee堆栈是在IEEE 802 15 4标准基础上建立的 定义了协议的MAC和PHY层 ZigBee设备应该包括IEEE802 15 4 该标准定义了RF射频以及与相邻设备之间的通信 的PHY
  • CC2530学习(一)环境配置

    CC2530F256是一款将各种丰富的功能系统地集成到一片LSI Large Scale Integrated circuit 大规模集成电路 的片上系统 System on Chip 简称SoC 内嵌增强型51内核的单片机 芯片后缀256
  • C51中data,idata,xdata,pdata的区别

    从数据存储类型来说 8051系列有片内 片外程序存储器 片内 片外数据存储器 片内程序存储器还分直接寻址区和间接寻址类型 分别对应code data xdata idata以及根据51系列特点而设定的pdata类型 使用不同的存储器 将使程
  • Keil 5(C51)介绍、下载、安装与2个补丁

    Keil 5常用的分两个版本 C51和MDK C51用于编译8051内核的单片机程序 譬如AT89C51 STC89C51 STC98C52等 MDK用于编译STM32 GD32等ARM32位内核单片机程序 一 资源获取 Keil官网获取
  • ZigBee传感数据采集实验

    一 实验目的与要求 1 学习通过DHT11采集温度和湿度数据 2 掌握CC2530接收和发送串口数据 3 学习使用ZStack库 二 实验原理与内容 1 DHT11电路图 2 基本控制原理 2 1 CC2530 的 IO 口配置我们需要配置
  • 单片机原理及应用复习

    关于这个复习的资源 或者网址 点击 第一章 单片机的基础知识 1 什么是单片机 特点 将通用微型计算机基本功能部件集成在一块芯片上构成的一种专用微计算机系统 嵌入式系统 用于解决小型被控对象的智能化问题 SCM或MCU 组成 特点 体积小
  • C51——IO口配置

    I O口配置 STC89C51RC RD 系列单片机所有I O口均 新增P4口 有3种工作类型 准双向口 弱上拉 标准8051输出模式 仅为输入 高阻 或开漏输出功能 STC89C51RC RD 系列单片机的P1 P2 P3 P4 上电复位
  • 51单片机定时器的原理与使用

    定时器是单片机的重要功能模块之一 在检测 控制领域有广泛应用 定时器常用作定时时钟 以实现定时检测 定时响应 定时控制 并且可以产生ms宽的脉冲信号 驱动步进电机 定时和计数的最终功能都是通过计数实现 若计数的事件源是周期固定的脉冲则可实现
  • 6.2小车循迹,跟随,摇头测距功能实现

    1 循迹小车 1循迹模块的使用 TCRT5000传感器的红外发射二极管不断发射红外线 当发射出的红外线没有被反射回来或被反射回来但强度不够大时 红外接收管一直处于关断状态 此时模块的输出端为高电平 指示二极管一直处于熄灭状态 被检测物体出现
  • 物联网实训总结——简易的智能农场

    物联网实训总结 简易的智能农场 一 场景需求 1 农场环境监测 对农场的环境实现智能感知 对温度 湿度 光照值实时显示 同时检测农场烟雾状态 判断火情 实时监控农场人员出现情况 2 控制管理 智能农场控制部分分为 通风系统和补光系统 实现对
  • 1、ZigBee 开发教程之基础篇—ZigBee简介和学习方法

    文章目录 1 前言 2 ZigBee 简介 3 ZigBee和IEEE 802 15 4 的关系 4 ZigBee 的特点 5 ZigBee 无线网络通信信道分析 6 ZigBee的网络拓扑模型 7 ZigBee的应用范围 8 本人所使用的
  • C51流水灯 running water lamp

    include
  • c51简单delay函数i的值跟延时的时间呈线性关系

    c51简单delay函数i的值跟延时的时间呈线性关系 一 简单delay函数 晶振频率 11 0592 MHZ define uchar unsigned char void Delay uchar i while i 二 证明 1 调试计
  • 基于芯科Ember SDK开发的ZigBee ota client验证固件时崩溃(Reset info: 0x0A (FLT)), SDK Bug导致!

    现象 ZigBee子设备新固件下载完成后 准备校验其合法性 代码运行至检验部分 MCU崩溃重启 日志如下 RECV ASCII gt Processing message len 33 profile 0104 cluster 0019 T
  • MacOS 10.8 的 rxtxSerial.dll

    我目前正在开发一个 ZigBee 项目 并在装有 Mountain Lion 10 8 的 Mac 上并使用 Eclipse IDE 进行编程 要通过 USB 使用我的 Zigbee 模块进行串行通信 我需要这个 rxtxSerial dl

随机推荐

  • JDK安装及oracle安装

    这里写自定义目录标题 JDK安装 虚拟机win03中安装Oracle JDK安装 1 jdk安装 解压安装包进行安装 记住安装地址 不要安装在含有中文的文件夹 若忘记则win r键 输入cmd 进入命令行模式 输入 where java 查
  • Docker的自定义镜像

    文章目录 五 自定义镜像 五 自定义镜像 回顾一下 什么是镜像 答 镜像是将应用程序及其所需要的系统函数库 环境 依赖 配置打包而成 镜像的结构是分层的 每一层称为一个Layer 其中 最底层包含基本的系统函数库 环境变量 文件系统 的层我
  • 如何使用React脚手架新建一个React项目

    1 react脚手架 xxx脚手架 用来帮助程序员快速创建一个基于xxx库的模板项目 包含了所有需要的配置 语法检查 jsx编译 devServer 下载好了所有相关的依赖 可以直接运行一个简单效果 react提供了一个用于创建react项
  • 狂神说Docker进阶篇笔记

    文章目录 Docker Compase 简介 官方介绍 安装 体验 网络规则 停止 小结 docker compose yaml 规则 实战开源项目 WordPress 实战微服务 小结 Docker Swarm 工作模式 node Ser
  • openjudge 1.6.7 有趣的跳跃

    OpenJudge 07 有趣的跳跃 解题思路 1 有趣的跳跃定义为n个数据 相邻两个相减后得到的绝对值的n 1个数据 经过排序后 正好是从1到n 1 那么首先的步骤为创建一个能容纳n个数据的数组 int a 3005 定义在主函数外 2
  • 前端代码集锦

    HTML中隐藏标签和显示标签的例子 注意登录前后的变化 HTML的代码 div div class login div div
  • cd.ssh bash: cd.ssh: 未找到命令.../没有这个文件或目录

    在linux中设置免密登录的时候 cd ssh 报错说bash cd ssh 未找到命令 原来是我的命令打错了 应该是cd ssh 后面有个 但是我这样输入以后 还是报错 说什么没有这个文件或目录 那你就要先ssh 一下自己的现在的ip地址
  • nodejs+vue+vue-router.路由问题

    路由加载出现警告 页面上路由不起作用 查看源码发现router view标签被解析成 lt gt 由于没有完全编译 修改配置文件vue config js添加如下配置
  • 在linux中,如何增加、修改、删除、暂停和冻结用户名

    在linux中 如何增加 修改 删除 暂停和冻结用户名 在操作增加 修改和删除用户名前 先认识linux中两个最重要的文件 它们就是账号管理最重要文件 etc passwd 与 etc shadow 环境 windows 7 virtual
  • router-view上添加key和data-key的作用

    key属性 用于提供对每个渲染的组件的唯一标识 当路由切换时 如果
  • 2022年12月-电子学会青少年等级考试C语言(一级)真题与解析

    2022年12月软件编程 C语言 等级考试 一级 分数 100 题数 5 时间限制 1000 ms 内存限制 65536 kB 1 加一 题目描述 输入一个整数x 输出这个数加1后的值 即x 1的值 输入 一个整数x 0 x 1000 输出
  • C/S、B/S架构详解,一文带你搞懂

    一 CS BS架构定义 CS架构 Client Server Architecture 是一种分布式计算模型 其中客户端和服务器之间通过网络进行通信 在这种架构中 客户端负责向服务器发送请求 并接收服务器返回的响应 服务器则负责处理客户端的
  • IDEA中 @override报错的解决方法

    IDEA中 override报错的解决方法 参考文章 1 IDEA中 override报错的解决方法 2 https www cnblogs com printN p 6870036 html 备忘一下
  • ETL正则匹配汇总

    一 正则匹配全部汇总 1 匹配中文 u4e00 u9fa5 2 英文字母 a zA Z 3 数字 0 9 4 匹配中文 英文字母和数字及下划线 u4e00 u9fa5 a zA Z0 9 同时判断输入长度 u4e00 u9fa5 a zA
  • 分布式事务有这一篇就够了!

    分布式事务 文章目录 分布式事务 1 基础概念 1 1 什么是事务 1 2 本地事务 1 3 分布式事务 1 4 分布式事务产生的情景 2 分布式事务基础理论 2 1 CAP理论 2 1 1 理解CAP C Consistency A Av
  • 盒子的宽度超出元素的盒子的解决办法box-sizing

    padding用在哪里超出的 box sizing就放在哪 盒子的宽度超出元素的盒子的解决办法 未修改的代码与样式 rpx与px都是单位 如果不了解就当px处理 1 calc 减轻相当于两侧的padding值 不推荐 了解 2 border
  • 计算机专业毕业设计选题原则

    计算机技术变化很快 新技术新观念每年都会涌现很多 计算机专业的毕业设计 是一次非常好的把理论知识结合实践的好机会 所以 选好自己的毕业设计题目 相当重要 我们建议 你要结合自己的职业理想来做 1 如果你将来想从事信息系统类开发 建议选择C
  • SpringBoot项目整合RabbitMQ

    1 简介 消息队列 Message Queue 是分布式系统中常用的组件 它允许不同的应用程序之间通过发送和接收消息进行通信 Spring Boot提供了简单且强大的方式来整合消息队列 其中包括RabbitMQ ActiveMQ Kafka
  • openwrt控制天翼网关定时重启

    由于天翼网关不支持定时重启 另外app里设置定时重启也没有作用 所以查找了一些相关工具和用法 再结合前辈的经验 参考的博客网址 自己最终把该功能实现了 首先需要用winscp登陆到刷了openwrt的路由器中 然后在 usr bin 目录下
  • CC2530学习(一)环境配置

    CC2530F256是一款将各种丰富的功能系统地集成到一片LSI Large Scale Integrated circuit 大规模集成电路 的片上系统 System on Chip 简称SoC 内嵌增强型51内核的单片机 芯片后缀256