感谢NXP和EEWorld组织的这次活动,使我能够接触一款新的ARM CM3芯片平台。
LPCX15xx相对ST等流行的MCU而言,国内第三方开发板供应者较少(周立功), 其上手入门文档较少,而且demo程序只有源代码和少量注释文档。并且只提供所谓的“库函数版本”,没有“寄存器版本”。因此刚入门的时候会感觉比较吃力。
然后一旦了解了寄存器外设结构后,开发起来就会立刻感觉到LPC芯片的外设的设计方便性。特别是SCT、PINT、SWM等模块,可以看出NXP的应用工程师将实际应用需求反馈到了芯片设计部门,设计的这些模块IP Core就是考虑了大量实际需求的。
我在断断续续学习的过程中(就几个晚上,连续起来累加不超过3天吧。),通读一遍User Manual(由于是ARM架构,已经比较熟悉了, 一天就看完了前300页左右。后面的没看了)采用debug进入demo例程,然后根据库函数内部的语句一个个对照着寄存器来看,然后再返回寄存器定义的那个章节看,就掌握了芯片外设的结构和用法。
本次开发试用,尝试着开发了一个新的项目(这个项目也是在瑞萨活动中有理论积累,但由于架构不同, 所有代码全部重写)——基于LPC15xx的智能自学习万用红外遥控器,并将代码进行了改写,加入了状态机、红外接收波形边沿触发计时等功能。
感谢nmg的关注,和讨论QQ群、论坛里的热心朋友的帮助
// ===心得汇集================================================
开发心得与讨论
https://bbs.eeworld.com.cn/thread-447437-1-1.html
[问题讨论] LPCXpresso-1549的例程,Keil工程文件打开好慢啊。
https://bbs.eeworld.com.cn/thread-447855-1-1.html
[问题讨论] 是否是LPCOpen库的头文件定义的一个bug?匹配/比较寄存器数量不对啊。
体验试用报告与原创项目
https://bbs.eeworld.com.cn/thread-447774-1-1.html
[原创文章] LPC1500体验+(1)资料下载与开发环境(Keil MDK V5.11)的搭建
https://bbs.eeworld.com.cn/thread-447768-1-1.html
[原创文章] LPC1500体验+(2)Keil MDK中手动直接修改LPC1549寄存器,控制MCU运行
https://bbs.eeworld.com.cn/thread-447829-1-1.html
[原创文章] LPC1500体验+(3)使用SourceInsight查看LPCOpen源代码
https://bbs.eeworld.com.cn/thread-447990-1-1.html
[原创文章] LPC1500体验+(4)使用SWM将功能动态分配到任意引脚
https://bbs.eeworld.com.cn/thread-447996-1-1.html
[原创文章] LPC1500体验+(5)Usercode的Signature生成
https://bbs.eeworld.com.cn/thread-448210-1-1.html
[原创文章] LPC1500体验+(6)基于LPC15xx的智能自学习万用红外遥控器——全原创项目(非首创)