ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:331.66KB ,
资源ID:4228507      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4228507.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Zigbee之旅第一个CC2430程序LED灯闪烁实验.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、Zigbee之旅第一个CC2430程序LED灯闪烁实验Zigbee之旅(二):第一个CC2430程序LED灯闪烁实验一、承上启下在上一篇文章Zigbee之旅(一):开天辟地中,我们简要的介绍了Zigbee,以及其开发环境的搭建。OK,现在工具都齐全了,一个问题随之产生:如何利用这些软、硬件来编写一个能够跑起来的程序呢? 本篇文章基本是来回答以上问题的:以“LED灯闪烁”这个小实验作为例子,介绍如何配置IAR以适合开发基于CC2430的程序,如何运用IAR编写并在线调试程序。二、IAR的配置 IAR是一个强大的嵌入式开发平台,支持非常多种类的芯片。IAR中的每一个Project,都可以拥有自己的

2、配置,具体包括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;Call

3、ing 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配置基本结束,下面来介绍其

4、编码实现。三、程序代码的编写(1)新建程序文件 选择File-New-File,新建文件main.c。(2)引入头文件 基于CC2430的程序,必须包含对ioCC2430.h的引用,此文件定义了CC2430的各类特殊功能寄存器(SFR)的地址映射。#include /引入CC2430所对应的头文件(包含各SFR的定义) 此文件内置于IAR中(类似于stdio.h),将鼠标至于此行代码上,右键,选择OPen ioCC2430.h,即可看到此头文件的全部内容。(3)定义LED引脚 查看开发板电路图,如下所示: 可知led14分别受引脚P1_0P4_0的控制,因此可以定义 led1、led2、led

5、3、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.0P1.4端口前,需对其工作方式以及输入/输出方向进行设置,其中涉及到两个SFR:P1SEL、P1DIR。P1SEL=0x00;/设置P1为普通 I/O 口P1DIR|=0x0F;/设置P1.0 P1.1 P

6、1.2 P1.3 为输出Zigbee小贴士CC2430具有P0_0 P0_7,P1_0P1_7,P2_0P2_7共21个I/O口。它们可作为通用数字I/O,也可用于连接ADC、定时/计数器或USART等外设IO。CC2430的SFR中有三类寄存器可用于配置这些IO口:PxSEL(x为0/1/2):P0/P1/P2口功能选择 0:通用数字IO,1:外设IO,缺省默认为0PxDIR(x为0/1/2):P0/P1/P2口方向0:输入,1:输出,缺省默认为0PxINP(x为0/1):P0/P1口输入模式 0:上拉/下拉,1:三态,缺省默认为0在使用IO口时需配置,若缺省,则取系统默认值。 然后初始化4

7、个LED灯,设为全灭:led1=1;led2=1;led3=1;led4=1; 最后,编写LED灯闪烁效果代码:led1=0;/led1闪烁Delay(10);led1=1;Delay(10);led2=0;/led2闪烁Delay(10);led2=1;Delay(10);led3=0;/led3闪烁Delay(10);led3=1;Delay(10);led4=0;/led4闪烁Delay(10);led4=1;Delay(10); 其中涉及到一个延时子函数Delay(unsigned char n):voidDelay(unsignedcharn)unsignedchari;unsign

8、edintj;for(i=0;in;i+)for(j=1;j;j+) ;(5)代码总览 将上述代码合并为一个整体,如下所示:/引入头文件#include /引入CC2430所对应的头文件(包含各SFR的定义)/定义LED引脚#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口控制/延时子程序voidDelay(unsignedcharn)unsignedchari;unsignedintj;for

9、(i=0;i Make,编译代码,若成功,则会出现以下输出: 按Zigbee开发板 调试器 PC的USB接口的顺序连接Zigbee设备,然后选择Project - Debug,程序就会被自动下载到开发板中。 然后选择 Debug - Go,即可启动程序,这时,你就会看到4个LED灯依次闪烁了!虽然这是一个简单得不能再简单的小实验,但是当笔者成功实现它的时候,还是小小的兴奋了一把呵呵!五、结语 本文以“LED灯闪烁实验”为基础,分别从IAR的配置、程序代码的编写,以及编译及调试的过程介绍了整个实现过程。接下来的一篇,则会在了解了开发程序的基本过程的基础上,介绍几个CC2430开发的基础实验,涉及定时器、串口通信、AD转换、系统睡眠以及看门狗等,敬请期待!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1