Zigbee之旅第一个CC2430程序——LED灯闪烁实验.docVIP

Zigbee之旅第一个CC2430程序——LED灯闪烁实验.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Zigbee之旅第一个CC2430程序——LED灯闪烁实验

Zigbee之旅(二):第一个CC2430程序——LED灯闪烁实验一、承上启下 ?????在上一篇文章《Zigbee之旅(一):开天辟地》中,我们简要的介绍了Zigbee,以及其开发环境的搭建。OK,现在工具都齐全了,一个问题随之产生:如何利用这些软、硬件来编写一个能够跑起来的程序呢? ???? 本篇文章基本是来回答以上问题的:以“LED灯闪烁”这个小实验作为例子,介绍如何配置IAR以适合开发基于CC2430的程序,如何运用?IAR?编写并在线调试程序。 二、IAR的配置 ???? IAR是一个强大的嵌入式开发平台,支持非常多种类的芯片。IAR中的每一个Project,都可以拥有自己的配置,具体包括Device类型、堆/栈、Linker、Debugger等。 (1)新建 Workspace 和 Project ???? 首先新建文件夹 ledtest。打开IAR,选择主菜单File - New - Workspace建立新的工作区域。 ???? 选择Project - Create New Project - Empty Project,点击OK,把此工程文件保存到文件夹 ledtest 中,命名为:ledtest.ewp(如下图)。 (2)配置General Options ?????? Target设置:Device:CC2430; ???????????????????????? Code Mode:Near; ???????????????????????? Data model:Large; ?????????????????????????Calling convention:XDATA stack reetrant ???? Data pointer设置:Number of DPTRs:1 ???? Stack/Heap设置:XDATA stack size:0x1FF (3)Linker设置 ???? Linker command file:选择lnk51ew_cc2430.xcl (4)Debugger设置: ???? Driver:Texas Instruments?(本实验为真机调试,所以选择TI;若其他程序要使用IAR仿真器,可选Simulator) ???? Device Description file:CC2430.ddf ????? 至此,针对本实验的IAR配置基本结束,下面来介绍其编码实现。 三、程序代码的编写 (1)新建程序文件 ????? 选择File-New-File,新建文件main.c。 (2)引入头文件 ????? 基于CC2430的程序,必须包含对ioCC2430.h的引用,此文件定义了CC2430的各类特殊功能寄存器(SFR)的地址映射。 #include ioCC2430.h?????????//引入CC2430所对应的头文件(包含各SFR的定义) ????? 此文件内置于IAR中(类似于stdio.h),将鼠标至于此行代码上,右键,选择?OPen ioCC2430.h?,即可看到此头文件的全部内容。 (3)定义LED引脚 ???? 查看开发板电路图,如下所示: ???? 可知led1~4分别受引脚P1_0~P4_0的控制,因此可以定义 led1、led2、led3、led4 分别为引脚 P1_0、P2_0、P3_0、P4_0。 #define led1??? P1_0??????????//定义LED1为P1_0口控制 #define led2??? P1_1??????????//定义LED2为P1_1口控制 #define led3??? P1_2??????????//定义LED3为P1_2口控制 #define led4??? P1_3??????????//定义LED4为P1_3口控制 (4)main函数 ???? 接下来,开始编写main函数。 ???? 首先,在使用P1.0~P1.4端口前,需对其工作方式以及输入/输出方向进行设置,其中涉及到两个SFR:P1SEL、P1DIR。 ??P1SEL??=?0x00;??????????//设置P1为普通 I/O 口 ??P1DIR?|=?0x0F;??????????//设置P1.0 P1.1 P1.2 P1.3 为输出 Zigbee?小贴士 CC2430具有?P0_0 ~ P0_7?,?P1_0~P1_7?,?P2_0~P2_7?共21个I/O口。它们可作为通用数字I/O,也可用于连接ADC、定时/计数器或USART等外设IO。 CC2430的SFR中有三类寄存器可用于配置这些IO口: ①PxSEL(x为0/1/2):P0/P1/P2口功能选择 ??????????????????????????????? 0:

文档评论(0)

yaocen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档