本帖最后由 toofree 于 2018-11-5 10:28 编辑
【LPC11U68开发板】——3、跑个Keil下的Demo+编译lib库
去NXP官网下载LPC11U68,在Keil下的最新软件包“lpcopen_3_03_keil_iar_lpcxpresso_11u68.zip”
http://www.nxp.com/cn/support/developer-resources/software-development-tools/lpc-developer-resources-/lpcopen-libraries-and-examples/lpcopen-software-development-platform-lpc11xxPCOPEN-SOFTWARE-FOR-LPC11XX?tab=Design_Tools_Tab
[url=http://www.nxp.com/cn/support/developer-resources/software-development-tools/lpc-developer-resources-/lpcopen-libraries-and-examples/lpcopen-software-development-platform-lpc11xxPCOPEN-SOFTWARE-FOR-LPC11XX?tab=Design_Tools_Tab]
[/url]
将软件包“lpcopen_3_03_keil_iar_lpcxpresso_11u68.zip”解压,打开demo工作区工程(多工程工作区)“nxp_lpcxpresso_11u68_demo_examples.uvmpw”
可以看到,工作区工程由两个lib库工程和一个demo工程组成。demo工程下调用的lib库是未找到状态,这时由于demo工程需要调用前两个lib工程生成的lib库,但是前两个工程还都是源码,没有经过编译,因此需要先编译lib库工程。
用鼠标指向“lib_chip_11u6x”工程,鼠标右键强出命令,设置为当前激活工程。
编译工程,编译结果0错误,生成lib库,在demo工程下相应lib库变为有效状态。
相同方法,第二个lib库工程设置为激活工程,并编译,生成lib库。demo工程中相应lib库也将变为有效状态。
切换demo为激活工程,并编译,编译成功,生成可执行目标文件。
在Target中设置仿真器为J-Link,并进入详细设置页面。
设置页面的Debug项下,可以看到J-Link的相应信息,选择port连接方式为SWD,此时可看到右面可以正确识别目标器件。
设置页面的Flash Download项下,设置对应的器件下载算法,并设置下载完复位自动跑程序。
下载程序到LPC11U68开发板。
程序下载成功,可以看到三色LED开始闪烁。
打开说明文件“readme.txt”,看到此Demo程序可以通过按键SW1、SW2来切换LED是三色循环闪,还是红灯秒闪。实际操作SW1、SW2的功能正好相反,说明文件可能有错。
找到原理图,SW1、SW2分别对应P0_1、P0_16,第二功能分别为ISP和WAKE。
在主程序中找到两个按键IO定义部分,看到SW1为红灯秒闪,SW2为三色循环闪,与实际操作现象一致。
主循环中通过SW1、SW2按键设置标志变量ledCnt的状态,并且是相斥的。
红灯秒闪是在ledCnt为false状态时,通过RTC中断,每一秒闪一次。
三色灯循环是在SysTick中断中循环闪灯,300次中断一个三色循环。
TICKRATE_HZ1宏定义为10,
SysTick_Config()再次多除了30,即SysTick周期为300Hz,结合前面300个中断周期一次三色循环,得出一个三色循环为一秒。
至此,顺利完成了一个keil下的Demo程序,本实验没有更改任何一个源文件。
软件包“lpcopen_3_03_keil_iar_lpcxpresso_11u68.zip”附上:
lpcopen_3_03_keil_iar_lpcxpresso_11u68.zip
(1.48 MB, 下载次数: 21)
|