博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LPC21O3第一课:第一个实验,LED灯闪烁及ADS1.2的初步使用
阅读量:6240 次
发布时间:2019-06-22

本文共 1703 字,大约阅读时间需要 5 分钟。

以下是无图版,有图版欢迎下载附件,及其工程。

工程文件下载地址:http://files.cnblogs.com/hnrainll/Test.zip

有图版下载地址:http://files.cnblogs.com/hnrainll/LPC21O3第一课:第一个实验,LED灯闪烁及ADS1.2的初步使用.pdf

 

 

LPC21O3第一课:第一个实验,LED灯闪烁及ADS1.2的初步使用

这里我们使用的是CEPARK_LPC2103开发板,程序开发环境使用:ADS1.2

首先我们在桌面上建立一个"Test"文件夹。将和开发板初始化相关的文件拷贝进去。这些文件,你可以在文章的最后面下载到。

如下图所示,包含下面7个文件。

 

我们打开ADS1.2,编程软件“CodeWarrior for ARM Developer Suite”。

选择“File------New”,出现如下提示框:

 

在Project name中输入项目的名字,Location中选择项目要保存的地址。

都填写好后,确定保存。

会出现如下的一个小窗口:

 

这里我们首先点击工具栏中的这个按钮,新建一个文件。我们将他命名为main.c保存在Test文件夹中。

我们在窗口的空白区域点击右键,选择Add Files.如下图:

 

添加如下7个文件,成功后的结果如下:

 

下面我们对ADS1.2软件进行设置,让他生成下载到MCU,Flash中的hex文件。

首先,我们选择Releaes.如下图:

这个表示发布版本,再点击其右边的这个按钮,对软件进行配置。

弹出窗口如下:

 

我们只需要对我用红色标记的选项进行设置,其他的默认设置。

Target Settings中的Post-linker我们选择ARM forELF,这个对我们后面生成HEX文件有用。

ARM Assembler,ARM C Compilr的设置相同,如下图:

 

重点在:ARM Linker的设置,这里我们用分散加载文件,进行设置。

如下图:

 

在Linktype中,我们选择,Scattered,Scatter中我们选择,先前复制过来的mem_a.scf文件。这个就是分散加载文件,具体的作用我们以后再详细的说。

再选择Options选项卡,在Imag entry point中输入0x00000000,如下图:

 

这里是设置入口点地址。

ARM forELF的设置如下图:

 

几个选项设置完成了,我们点击确定,保存我们的设置。

接下来我们在main.c中编写程序。实现LED闪烁的功能。

例程如下:

/*************************************

Forum:bbs.cepark.com

Author:hnrain

Date:2010/11/17

Version:测试版

*************************************/

#include "config.h"

#define LED  1 << 19// P0.19控制LED

void DelayNS (uint32 dly)

{

uint32 i;

 

for ( ; dly>0; dly--)

for (i=0; i<50000; i++);

}

int main (void)

{

PINSEL1 = 0x00000000;// 设置管脚连接GPIO

IODIR   = LED;// 设置LED控制口为输出

 

while (1)

{

IOSET = LED;// LED熄灭

DelayNS(50);

IOCLR = LED;// LED点亮

DelayNS(50);

}

 

    return 0;

}

一切都准备好了,我们点击这个按钮,对源文件进行编译。

如果编译没有报错,我们将在Test\main_Data\Release 这个文件夹下找到main.hex文件。

这个就是我们下载到CPU中去的文件。

本文,主要是让大家成功的编译一个成功的文件,对ADS1.2还有更对其他的设置,我这里就不一一的解说,大家也可以把你们知道的相关的知识点,分享出来。

                                                    hnrain@2011

转载地址:http://tfdia.baihongyu.com/

你可能感兴趣的文章
可拖动的DIV续
查看>>
关于“类型初始值设定项引发异常”
查看>>
MySql 小表驱动大表
查看>>
Redis 数据结构的底层实现 (一) RealObject,embstr,sds,ziplist,quicklist
查看>>
SQL语句注入的问题
查看>>
jQueryEasyUI Messager基本使用
查看>>
【C语言学习趣事】_33_关于C语言和C++语言中的取余数(求模)的计算_有符号和无符号数的相互转换问题...
查看>>
Tensorboard教程:显示计算图中节点信息
查看>>
java 线程基本概念 可见性 同步
查看>>
Java:JUnit包
查看>>
unity_快捷键
查看>>
洛谷P3358 最长k可重区间集问题(费用流)
查看>>
洛谷P1251 餐巾计划问题(费用流)
查看>>
Beta冲刺(2/5)(麻瓜制造者)
查看>>
vs2012编码的UI测试使用教程
查看>>
android 在非UI线程更新UI仍然成功原因深入剖析
查看>>
清北NOIP训练营集训笔记——图论
查看>>
oracle ORA-00060死锁查询、表空间扩容
查看>>
转载自https://github.com/jsfront/src/blob/master/css.md
查看>>
MySQL索引优化分析(上)
查看>>