- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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:
您可能关注的文档
最近下载
- XX项目成本分析汇报ppt.pptx VIP
- 海洋生物科普知识PPT课件.ppt VIP
- 优秀教研组、备课组评选考核办法.pdf VIP
- National Theatre Live: Prima Facie《初步举证(2022)》完整中英文对照剧本.docx VIP
- 中国COP环烯烃共聚物行业市场规模及投资前景预测分析报告.docx
- 化疗后骨髓抑制的护理优秀课件.ppt VIP
- 提高糖尿病患者胰岛素笔注射的正确率.pptx VIP
- 初中道德与法治课程中法治教育模式创新与实践研究教学研究课题报告.docx
- 文学德育功能的学理分析.pdf VIP
- 十堰xx老旧小区改造项目实施方案(参考范文).docx
文档评论(0)