PAGE1
PAGE1
LPC1768系列常见问题及解决方案
在使用LPC1768系列单片机进行开发时,开发人员可能会遇到各种常见问题。本节将详细介绍这些问题及其解决方案,帮助开发者更好地理解和解决这些难题。
1.无法正常烧录程序
1.1问题描述
在尝试将程序烧录到LPC1768单片机时,可能会遇到烧录失败的情况。这可能是由于多种原因导致的,包括硬件连接问题、软件配置问题、芯片保护设置等。
1.2解决方案
1.2.1检查硬件连接
确保开发板上的JTAG/SWD接口与编程器之间的连接正确且稳定。检查以下几点:
电源连接:确保开发板已经正确上电。
接口连接:检查JTAG/SWD接口的引脚是否正确连接到编程器。
地线连接:确保地线连接良好,避免信号干扰。
1.2.2检查软件配置
使用正确的烧录工具和配置文件。LPC1768支持多种烧录工具,如LPCXpresso、Keil、IAR等。确保以下几点:
工具版本:使用最新版本的烧录工具,避免兼容性问题。
配置文件:确保使用正确的配置文件,包括芯片型号、烧录速度等。
编程模式:选择正确的编程模式,LPC1768支持ISP(In-SystemProgramming)和JTAG/SWD模式。
1.2.3检查芯片保护设置
LPC1768单片机具有多种保护机制,如读保护、写保护等。这些保护机制可能会阻止程序的烧录。检查以下几点:
读保护:使用编程工具清除读保护设置。
写保护:使用编程工具清除写保护设置。
芯片锁:使用编程工具解锁芯片。
1.3代码示例
以下是一个使用LPCXpresso进行烧录的示例:
//LPCXpresso烧录示例
#includeLPC17xx.h
intmain(){
//初始化GPIO
LPC_PINCON-PINSEL0=0//将P0.0和P0.1设置为GPIO
LPC_GPIO0-FIODIR=0//将P0.0和P0.1设置为输出
//点亮LED
LPC_GPIO0-FIOSET=0//P0.0高电平
LPC_GPIO0-FIOCLR=0//P0.1低电平
while(1){
//持续保持LED状态
}
return0;
}
2.时钟配置问题
2.1问题描述
时钟配置是LPC1768单片机开发中非常关键的一环。如果时钟配置不正确,可能会导致系统运行不稳定,外设无法正常工作等问题。
2.2解决方案
2.2.1检查时钟源
LPC1768支持多种时钟源,包括内部RC振荡器、外部晶振、PLL等。确保选择了正确的时钟源,并且时钟源已经正确启动。
2.2.2配置PLL
LPC1768内置的PLL可以将时钟频率倍频到更高的频率。确保PLL配置正确,避免时钟频率超出芯片的允许范围。
2.2.3检查时钟分频
根据外设的需求,合理配置时钟分频,确保外设时钟频率在允许范围内。
2.3代码示例
以下是一个配置PLL的示例:
//配置PLL示例
#includeLPC17xx.h
voidconfigure_clock(){
//选择外部晶振作为时钟源
LPC_SC-CLKSRCSEL=0x01;//选择外部晶振
//配置PLL
LPC_SC-PLL0CON=0x01;//PLL0配置为正常模式
LPC_SC-PLL0CFG=0x24;//设置PLL0倍频系数
LPC_SC-PLL0FEED=0xAA;//写入PLL喂狗值
LPC_SC-PLL0FEED=0x55;//写入PLL喂狗值
LPC_SC-PLL0CON=0x03;//启用PLL0
LPC_SC-PLL0FEED=0xAA;//写入PLL喂狗值
LPC_SC-PLL0FEED=0x55;//写入PLL喂狗值
//等待PLL锁定
while((LPC_SC-PLL0STAT(126))==0){
//等待PLL0锁定
}
//选择PLL作为系统时钟源
LPC_SC-CCLKSEL=0x01;//选择PLL0作为CCLK源
}
intmain(){
//配置