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