基本信息
文件名称:NXP 系列:LPC1700 系列 (基于 Cortex-M3)_24. LPC1700系列应用开发.docx
文件大小:26.83 KB
总页数:21 页
更新时间:2025-06-14
总字数:约1.2万字
文档摘要

PAGE1

PAGE1

24.LPC1700系列应用开发

24.1引言

LPC1700系列是NXP基于ARMCortex-M3内核的高性能微控制器系列。这些微控制器具有丰富的外设和强大的处理能力,适用于多种嵌入式应用,如工业控制、消费电子、医疗设备和汽车电子等。本节将详细介绍如何在LPC1700系列上进行应用开发,包括开发环境的搭建、基本的外设配置、中断处理、定时器应用、ADC和DAC的使用、UART通信、以及一些高级应用如PWM和DMA的配置。

24.2开发环境搭建

24.2.1工具链选择

开发LPC1700系列微控制器时,可以选择多种开发工具和编译器。常见的工具链包括:

KeilμVision:用于ARM微控制器的集成开发环境(IDE),支持C和C++编程。

GCCforARM:基于GNU编译器集合的免费工具链,支持C和C++编程。

IAREmbeddedWorkbench:另一个强大的IDE,支持多种ARM微控制器。

24.2.2安装和配置

24.2.2.1KeilμVision安装

下载并安装KeilμVision。

打开KeilμVision,选择“Project”-“NewuVisionProject”。

选择LPC1700系列的微控制器型号,例如LPC1768。

选择C或C++编译器。

配置项目选项,如编译器设置、输出文件路径等。

24.2.2.2GCCforARM安装

下载并安装GCCforARM工具链。

配置环境变量,确保编译器路径正确。

使用命令行或集成开发环境(如Eclipse)创建项目。

编写Makefile,配置编译选项。

24.2.3下载和调试

24.2.3.1使用KeilμVision

连接调试器(如J-Link)。

选择“Project”-“OptionsforTarget”-“Debug”。

选择合适的调试工具和接口。

点击“Download”按钮下载程序到微控制器。

使用调试功能进行调试,如断点、单步执行等。

24.2.3.2使用GCCforARM

连接调试器(如J-Link)。

使用openocd配置调试环境。

使用gdb进行调试,如设置断点、单步执行等。

24.3基本外设配置

24.3.1GPIO配置

GPIO(GeneralPurposeInput/Output)是微控制器中最基本的外设之一,用于控制外部设备的输入和输出。

24.3.1.1配置GPIO

初始化GPIO:

//初始化P0.0为输出模式

voidGPIO_Init(void){

LPC_PINCON-PINSEL0=~(0x30);//清除P0.0的引脚功能选择

LPC_PINCON-PINSEL0|=(0x00);//设置P0.0为GPIO功能

LPC_GPIO0-FIODIR|=(10);//设置P0.0为输出方向

}

控制GPIO:

//设置P0.0为高电平

voidGPIO_SetHigh(void){

LPC_GPIO0-FIOSET=(10);

}

//设置P0.0为低电平

voidGPIO_SetLow(void){

LPC_GPIO0-FIOCLEAR=(10);

}

//读取P0.1的电平

uint32_tGPIO_Read(void){

return(LPC_GPIO0-FIOPIN(11))?1:0;

}

24.3.2中断处理

中断处理是嵌入式系统中非常重要的功能,用于处理外部事件或定时任务。

24.3.2.1配置外部中断

初始化外部中断:

//初始化外部中断P0.1

voidEINT_Init(void){

LPC_PINCON-PINSEL0=~(0x32);//清除P0.1的引脚功能选择

LPC_PINCON-PINSEL0|=(0x22);//设置P0.1为外部中断功能

LPC_PINCON-PINMODE0=~(0x32);//设置P0.1为上拉模式

LPC_GPIOINT-IO0IntEnF|=(11);//使能P0.1的下降沿中断

NVIC_EnableIRQ(EINT0_IRQn);//使能外部中断0的中断请求

}

//外部中断处理函数

voidEINT0_IRQHandler(void){

if(LPC_GPIOINT-IO0