IAR环境配置、新建工程、点亮LED灯
2012-11-09 16:41
489 查看
很久以前写的,今天在硬盘中翻腾出来了,拿出来和大家分享。
今天,第一次点亮了led灯,真的好开心。
下面从基础步骤开始详细叙述
1.打开IAR,project-ànew project,(如下图),点击ok
1. File àNew File 创建一个新的文档
Save as led.c 将新创建的文档保存为led.c
此时,就可以在新创建的文档中编辑代码了。
3. 以我的模块为例,有2530RF和QAZB2V1串口转zigbee配置底板,其中QAZB2V1中带有两个LED灯,就是要点亮它们。
由图可以看到,引脚P1_0P1_1分别和LED1 LED2相连。
2. 根据以上电路图写程序如下
#include<ioCC2530.h>
#define uint unsigned int
void Delay(uint);
void Delay(uint n) //延迟函数
{ uint i;
for(i=0;i<n;i++);
for (i=0;i<n;i++);
for (i=0;i<n;i++);
for (i=0;i<n;i++);
for (i=0;i<n;i++);
}
void main()
{
P1DIR|=0X03;//P1-0 P1_1定义为输出
P1=0X00;
while(1)
{
P1=0X03;
Delay(10000);
P1=0X00;
Delay(10000);
}
}
如直接调试,会出现以下提示
(如果设置好了,出现这种情况,可以project——>add file例如led.c来解决)
做设置如下
设置一 Project à Options àGeneral Options àDevice选 CC2530.i51并且设置datamodel 为large
设置二:在GeneralOptions下选择Stack/Heap选项卡,设置XDATA为OX1FF
设置三 、选择Linker à 选configà在 Override Default前面打对勾,然后选择lnk51ew_cc2530.xcl
设置四、在Debugger栏目中,setup选项卡下,选择Driver一项选 Texas Instruments
进行了这些设置后就可以调试下载运行了。
注意:延时的长度一定要设好,不然看不到灯的闪烁。
以下是两个灯不同时闪烁的程序
#include <ioCC2530.h>
#define LOW 0
#define HIGH 1
#define uint unsigned int
#define uchar unsigned char
#define RLED P1_0 //定义LED1为P10口控制
#define YLED P1_1 //定义LED2为P11口控制
void Delay(uint); //延时函数
void InitIO(void); //初始化LED控制IO口函数
void Delay(uint n) //延时函数
{
uint i; //定义一个变量i;
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
}
void InitIO(void) //初始化IO口程序
{
P1DIR |= 0x03; //P1_0、P1_1定义为输出
RLED = 1;
YLED = 1;
}
void main()
{
InitIO();
while(1)
{
//P1=0X03;
P1_0 = LOW;
Delay(10000);
P1_1 = LOW;
Delay(10000);
P1_0 = HIGH;
Delay(10000);
P1_1 = HIGH;
}
}
程序2
#include <ioCC2530.h>
#define uint unsigned int
#define uchar unsigned char
//定义控制灯的端口
#define RLED P1_0 //定义LED1为P10口控制
#define YLED P1_1 //定义LED2为P11口控制
//函数声明
void Delay(uint); //延时函数
void Initial(void); //初始化P0口
/****************************
//延时
*****************************/
void Delay(uint n)
{
uinttt;
for(tt= 0;tt<n;tt++);
for(tt= 0;tt<n;tt++);
for(tt= 0;tt<n;tt++);
for(tt= 0;tt<n;tt++);
for(tt= 0;tt<n;tt++);
}
/****************************
//初始化程序
*****************************/
void Initial(void)
{
P1DIR|= 0x03; //P10、P11定义为输出
RLED= 1;
YLED= 1; //LED
}
/***************************
//主函数
***************************/
void main(void)
{
Initial(); //调用初始化函数
RLED= 0; //LED1
YLED= 0; //LED2
while(1)
{
YLED = !YLED;
Delay(10000);
RLED = !RLED;
}
}
今天,第一次点亮了led灯,真的好开心。
下面从基础步骤开始详细叙述
1.打开IAR,project-ànew project,(如下图),点击ok
1. File àNew File 创建一个新的文档
Save as led.c 将新创建的文档保存为led.c
此时,就可以在新创建的文档中编辑代码了。
3. 以我的模块为例,有2530RF和QAZB2V1串口转zigbee配置底板,其中QAZB2V1中带有两个LED灯,就是要点亮它们。
由图可以看到,引脚P1_0P1_1分别和LED1 LED2相连。
2. 根据以上电路图写程序如下
#include<ioCC2530.h>
#define uint unsigned int
void Delay(uint);
void Delay(uint n) //延迟函数
{ uint i;
for(i=0;i<n;i++);
for (i=0;i<n;i++);
for (i=0;i<n;i++);
for (i=0;i<n;i++);
for (i=0;i<n;i++);
}
void main()
{
P1DIR|=0X03;//P1-0 P1_1定义为输出
P1=0X00;
while(1)
{
P1=0X03;
Delay(10000);
P1=0X00;
Delay(10000);
}
}
如直接调试,会出现以下提示
(如果设置好了,出现这种情况,可以project——>add file例如led.c来解决)
做设置如下
设置一 Project à Options àGeneral Options àDevice选 CC2530.i51并且设置datamodel 为large
设置二:在GeneralOptions下选择Stack/Heap选项卡,设置XDATA为OX1FF
设置三 、选择Linker à 选configà在 Override Default前面打对勾,然后选择lnk51ew_cc2530.xcl
设置四、在Debugger栏目中,setup选项卡下,选择Driver一项选 Texas Instruments
进行了这些设置后就可以调试下载运行了。
注意:延时的长度一定要设好,不然看不到灯的闪烁。
以下是两个灯不同时闪烁的程序
#include <ioCC2530.h>
#define LOW 0
#define HIGH 1
#define uint unsigned int
#define uchar unsigned char
#define RLED P1_0 //定义LED1为P10口控制
#define YLED P1_1 //定义LED2为P11口控制
void Delay(uint); //延时函数
void InitIO(void); //初始化LED控制IO口函数
void Delay(uint n) //延时函数
{
uint i; //定义一个变量i;
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
}
void InitIO(void) //初始化IO口程序
{
P1DIR |= 0x03; //P1_0、P1_1定义为输出
RLED = 1;
YLED = 1;
}
void main()
{
InitIO();
while(1)
{
//P1=0X03;
P1_0 = LOW;
Delay(10000);
P1_1 = LOW;
Delay(10000);
P1_0 = HIGH;
Delay(10000);
P1_1 = HIGH;
}
}
程序2
#include <ioCC2530.h>
#define uint unsigned int
#define uchar unsigned char
//定义控制灯的端口
#define RLED P1_0 //定义LED1为P10口控制
#define YLED P1_1 //定义LED2为P11口控制
//函数声明
void Delay(uint); //延时函数
void Initial(void); //初始化P0口
/****************************
//延时
*****************************/
void Delay(uint n)
{
uinttt;
for(tt= 0;tt<n;tt++);
for(tt= 0;tt<n;tt++);
for(tt= 0;tt<n;tt++);
for(tt= 0;tt<n;tt++);
for(tt= 0;tt<n;tt++);
}
/****************************
//初始化程序
*****************************/
void Initial(void)
{
P1DIR|= 0x03; //P10、P11定义为输出
RLED= 1;
YLED= 1; //LED
}
/***************************
//主函数
***************************/
void main(void)
{
Initial(); //调用初始化函数
RLED= 0; //LED1
YLED= 0; //LED2
while(1)
{
YLED = !YLED;
Delay(10000);
RLED = !RLED;
}
}
相关文章推荐
- windows下正确配置CUDA 4.0环境并在Visual Studio 2008中新建工程
- STM32CubeMX 1 创建一个新工程 利用时钟点亮LED KEIL5 Jlink配置
- Code::Blocks基本环境配置,中文乱码,新建工程等系列解决方案
- MDK5新建工程---点亮LED
- IAR工程创建环境配置
- 第三节 创建IAR工程-点亮LED
- STM32-新建工程,点亮led
- 20130912-STM8在IAR环境的新建工程标准
- stm32f107vc在IAR环境下,引用库函数的工程文件的配置方法
- opengl superbible 6th mac 10.12 xcode配置环境及新建工程
- cocos2d-x3.0 macOS下配置Android开发环境以及使用cocos2d-console来新建运行工程
- stm32学习笔记:新建工程流程,点亮led灯
- VS 配置一次环境 新建工程不必新建
- windows下正确配置CUDA 4.0环境并在Visual Studio 2008中新建工程
- opencv入门学习之二:OpenCV 2.4.9+Visual Studio 2012开发环境新建工程再次配置问题的解决
- ubuntu下新建caffe的c++工程 环境配置
- VS2012+OpenCV3.0+CMake3.8环境的OpenCV安装/配置/新建工程
- 用IAR开发第一个程序,点亮led灯以及建立工程的步骤。
- STM32CubeMX新建工程+基本IO配置过程
- CC2530学习笔记のGPIO配置——点亮LED