PAGE1
PAGE1
22.LPC1700系列编程基础
22.1引言
LPC1700系列是NXP公司基于ARMCortex-M3内核的高性能微控制器。该系列微控制器具有丰富的外设和强大的处理能力,适用于各种嵌入式应用。本节将介绍LPC1700系列的基本编程概念和常用开发工具,为后续深入学习打下基础。
22.2开发环境搭建
22.2.1安装开发工具
LPC1700系列常用的开发工具有KeiluVision和IAREmbeddedWorkbench。以下是安装KeiluVision的步骤:
下载KeiluVision:
访问Keil官网,下载最新版本的KeiluVisionIDE。
选择适合您操作系统的版本进行下载。
安装KeiluVision:
双击下载的安装文件,按照提示完成安装过程。
在安装过程中,选择LPC1700系列的包进行安装。
22.2.2配置开发环境
创建新项目:
打开KeiluVision,选择“File”-“NewProject”。
选择项目保存路径,点击“Save”。
选择“ARM”-“NXP”-“LPC1768”,点击“OK”。
添加源文件:
在项目管理器中,右键点击“SourceGroup1”,选择“AddNewItemtoGroup”。
选择需要添加的C文件或头文件,点击“Add”。
配置项目选项:
选择“Project”-“OptionsforTarget”-“Target”。
在“Device”选项中,选择LPC1768。
在“Clock”选项中,配置系统时钟频率(例如12MHz)。
在“Debug”选项中,选择合适的调试接口(例如JTAG或SWD)。
22.2.3下载和调试工具
LPC1700系列常用的下载和调试工具有LPC-Link2和CMSIS-DAP。以下是配置LPC-Link2的步骤:
连接LPC-Link2:
将LPC-Link2通过USB接口连接到电脑。
确保驱动程序已正确安装。
配置调试接口:
在KeiluVision中,选择“Project”-“OptionsforTarget”-“Debug”。
选择“CMSIS-DAP”作为调试接口。
确认LPC-Link2已正确连接并识别。
22.3基本编程概念
22.3.1ARMCortex-M3架构
ARMCortex-M3内核是一种高性能、低功耗的32位RISC处理器。它具有以下特点:
哈佛架构:独立的数据和指令总线,提高并行处理能力。
单周期乘法:支持单周期32位乘法运算。
嵌套向量中断控制器(NVIC):支持高效的中断处理。
Thumb-2指令集:结合16位和32位指令,提高代码密度和性能。
22.3.2编程语言和工具链
LPC1700系列主要使用C语言进行编程。常用的工具链包括:
GCC:GNUCompilerCollection,支持Linux和Windows平台。
ARMCompiler:由ARM公司提供的编译器,支持KeiluVision和IAREmbeddedWorkbench。
22.3.3项目结构
一个典型的LPC1700项目结构包括以下文件和目录:
src:源代码文件。
inc:头文件。
lib:库文件。
obj:编译生成的中间文件。
list:编译生成的列表文件。
hex:编译生成的HEX文件,用于烧录到微控制器。
22.3.4初始化代码
初始化代码是项目启动时运行的第一段代码,通常包括系统时钟配置、GPIO初始化等。以下是一个简单的初始化代码示例:
#includeLPC17xx.h//LPC17xx系列头文件
//系统时钟初始化
voidSystemInit(void){
//配置外部晶振频率
LPC_SC-XTALOSCCTRL=0//12MHz晶振
//配置PLL
LPC_SC-PLL0CON=0x01;//启用PLL0
LPC_SC-PLL0CFG=0//M=50,N=15
LPC_SC-PLL0STAT=0//同步PLL0
LPC_SC-PLL0FEED=0xAA;//喂狗
LPC_SC-PLL0FEED=0x55;//喂狗
LPC_SC-PLL0CON=0x03;//启用PLL0并使其输出时钟
LPC_SC-PLL0FEED=0xAA;//喂狗
LPC_SC-PLL0FEED=