LPC800_MINI_KIT把玩记
近日得小闲,也来了点兴致,开始把玩这块小板并顺便整理这段文字。
我是最后一批的最后一拨收到NXP的 LPC800_MINI_KIT。
板上没有太多的器件。据说,浓缩的都是精化。
精华到了最多只有6个IO 口,是6个位(bit)的口
(一共就8脚,有6个可以当IO 口,还不满足?)
1 准备
为了能玩转这个小东西,四处搜罗相关资料——
主要来源:NXP, EEWORLD ,ZLG,爱板网 等网站;
得手的主要资料:
LPC800_ds_en.pdf (LPC81XM data sheet)
UM10601.pdf (LPC800用户手册)
LPC800 mini board Rev AR2_0.pdf (电路图)
正确的对LPC810进行程序烧录.pdf(火工头陀的大作,指导FLASH MAGIC的相关操作)
NXP , ZLG 例程,网友们的大作(工程)
硬件准备:
LPC800_MINI_KIT
USB转TTL转接板 – 利用MSP430 launchpad (后换成了USB232线等)
杜邦线
软件安装:
FLASH MAGIC (把HEX文件下载到LPC810)
KEIL4.6 + MDK-ARM_AddOn_LPC8xx.exe
看起来非常迷人的SwitchMatrix Tool (配置工具)没有搞定,先放一边。
2 FLASH MAGIC烧写程序——更多烧的是耐心
与许多网友一样,利用MSP430 launchpad作为USB转TTL转接板,再按照火工头陀的那篇文章,下载NXP官网提供的2个HEX文件(闪灯,HELLOWORLD)。
实际过程并不顺利,后来总结主要原因有:
* LPC800小板与MSP430小板之间的串口线连接问题;
* LPC800小板未进入ISP状态。
对第一个问题的解决办法,也是最笨的办法——TXD,RXD两根线调换过来再试;
对于一直无法进入ISP 的办法,自己觉得应该是比较省钱又有效的——按下ISP键,重新上电,必通!
怎么知道LPC800小板是否在ISP 状态:
火工头陀的那篇文章提到的办法非常有效——看看能不能正常读出DEVICE SIGNATURE。
插曲:
用我的MSP430小板作为转接板烧完官网的2个HEX文件,再烧几个网友提供的,特别是呼吸灯,表现不错。可是,发现一个问题,一旦有串口,都不能正常进行通讯,比如运行 hello world,收到的是乱码。而下载、校验都正常的。(这仍然是不解的问题,先放下)
后换用其它下载办法(USB232线+MAX232小板)解决(回避)了串口通讯错误的问题
3 选KEIL 作为编译环境
看到网友说KEIL可为,于是坚定了信心。
爱机上原来已经装了编译环境 :KEIL V4.6 ,但该版本并不支持 LPC800, 在失望间猛然看到MDK-ARM_AddOn_LPC8xx(以前大概是在官网下的),安装后,KEIL 的Database 新增了 "NXP LPC8xx Devices",选 “LPC810M021”即OK.
编译网友的几个工程,都成功,代码都很赞。
包括:
呼吸灯 ( led_lpc810)
串口控制闪灯频率 ( LPC800+Test)
LPC800串口数码管
4 自己的第一个工程?
万事开头难,写一个自己的工程难度还是很大的,为了不打击自己的积极性,还是选一个比较规范的例程来学习吧。
经过比较,选择ZLG 的LP800例程(压缩包文件名:PC800_demo.rar)作为学习的材料,原因:
LP800系列,靠谱;
有一定的系统性,便于持续学习;
有中文注解。
但对该系列例程编译后发现:无一能直接在LPC810小板上直接运行。
后反复对比不同例程,找到一些可能的原因:
时钟源问题——这是个最大的问题,LPC810小板用内部RC产生,而ZLG例程用的什么时钟呢?猜测是外时钟,惨!
需要SwitchMatrix重新配置——没有SwitchMatrix Tool帮忙,确实不方便;
……
(…代码…pdf文档…N多小时后)
经过一番努力,现在好了,基本搞定了GPIO 里的3个例程:
GPIO_Led (口输出:LED闪动指示)
GPIO_Key (口输入、输出:按下键,LED亮)
GPIO_Int (输入口中断,按键触发中断,LED亮)
放一个比较有趣味的GPIO_Key工程文件:GPIO_Key.rar
更有趣的代码还需要自己慢慢来努力。
sacq 2013-08-18 (网络极为不畅的日子)
[
本帖最后由 sacq 于 2013-8-21 09:44 编辑 ]