奔奔 LPC1788 入门学习笔记系列之---LPC1788时钟配置

2024-02-05 07:48

本文主要是介绍奔奔 LPC1788 入门学习笔记系列之---LPC1788时钟配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

奔奔 LPC1788 入门学习笔记系列之---LPC1788时钟配置

本小节主要介绍LPC1788时钟配置的要点。

讲解之前先聊一下LPC1788这个芯片,之所以选择LPC1788做项目,主要有以下几点的优势:

1)带LCD控制器,最大可以支持到1024*768,这个是我选择它的最主要原因。

2)接口挺丰富。像USB,以太网,SD卡,CAN基本都有,方便做应用开发。

3)串口挺多,有5个。

 

硬件平台:深圳英蓓特科技的LPC1788的工业级单板机(SBC1788工控板)。

选择它的理由:1)一直在它那里买,包括STM32F207的板子, 例程\范例\文档均很不错,我挺信赖。

2)由于项目需要工业级的应用,稳定可靠性要求较高。我看SBC1788板子设计时,就是为了工业级应用而设计,同时还考虑了EMC相关性能。

3)支持uCGUI 以及uCOS-II,lwip 方便我做项目。

4)范例丰富,文档写的很好。以上是我自己买它的原因,仅供参考。

软件平台:MDK(即keil 4)4.22a。

软件库以及范例。基于英蓓特的LPC1788工控板提供的相关范例。

软件库具体对应: 官方的LPC177x_8xCMSIS_111230这个版本。

 

以下将具体讲解LPC1788的时钟配置。

1). LPC1788目前没有看到可以自动配置时钟的软件,不像ST有相关的软件生产时钟配置文件。所以LPC1788的时钟配置就得自己慢慢去看datasheet来自己改。

 

2). 时钟配置文件为system_LPC177x_8x.c 这一点目前Cortex-M3/M4内核都是一样,符合CMSIS标准.

 

3). 在system_LPC177x_8x.c中,主要涉及到的时钟配置宏如下:

 

/*系统时钟控制器的配置 。 系统控制与状态寄存器(SCS—0x400F C1A0)

,一般以下这一项,我们不用修改。*/

/*需要注意的是 BIT4位的 振荡器的频率范围选择,根据具体情况而定 

 具体设置如下图:

*/

#define CLOCK_SETUP           1
#define SCS_Val               0x00000021

 

/*系统时钟源配置,

 val = 0, 选择内部RC振荡器作为系统时钟和PLL0的时钟源(默认)。

 val = 1, 选择主振荡器作为系统时钟和PLL0的时钟源。

*/
#define CLKSRCSEL_Val         0x00000001

 

/*系统PLL0以及PLL1配置,

 PLL0 为主振荡器 用于系统主时钟输入源。

 PLL1 为副振荡器 用于USB 48M时钟源输入。

以下参数配置的结果为系统时钟=120M

 具体设置如下图:

*/

#define PLL0_SETUP            1
#define PLL0CFG_Val           0x00000009
#define PLL1_SETUP            1
#define PLL1CFG_Val           0x00000023

 

/*CPU时钟选择与分频配置,

 CPU时钟设置为1分频=120MH

 CPU时钟分频器时钟源选型配置为 PLL0

 一般不改动。

*/

#define CCLKSEL_Val           0x00000101

 

/*USB 时钟选择与分频配置,

 USB时钟分频器时钟源选型配置为 PLL1

 一般不改动。

*/

#define USBCLKSEL_Val         0x00000201

 

/*EMC分频配置,

 分频=0,EMC与CPU使用同一个时钟

 分频=1,EMC使用CPU的一半时钟

 根据需求配置。

以下配置结果为 EMC = 60M

*/
#define EMCCLKSEL_Val         0x00000001

 

/*外设时钟配置,范围(1-31)

 根据需求配置。

以下配置结果为 PCLK = 60M

*/
#define PCLKSEL_Val           0x00000002

 

/*功耗模式配置

一般不用修改,若需要用到低功耗,则按需修改

*/
#define PCONP_Val             0x042887DE

 

/*外部时钟输出配置

为了便于系统测试与开发,任何一种内部时钟均可引入CLKOUT功能(在P1[25]或P1[27]
管脚可使用)

 根据需求配置。

以下配置结果为 0100  选择RTC振荡器作为CLKOUT的时钟源

*/
#define CLKOUTCFG_Val         0x00000100

 

总结:LPC1788的时钟配置相对来说比较麻烦点,在应用时应该注意查看datasheet 防止错误设置

 

这篇关于奔奔 LPC1788 入门学习笔记系列之---LPC1788时钟配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/680230

相关文章

nginx配置错误日志的实现步骤

《nginx配置错误日志的实现步骤》配置nginx代理过程中,如果出现错误,需要看日志,可以把nginx日志配置出来,以便快速定位日志问题,下面就来介绍一下nginx配置错误日志的实现步骤,感兴趣的可... 目录前言nginx配置错误日志总结前言在配置nginx代理过程中,如果出现错误,需要看日志,可以把

Python实现Word转PDF全攻略(从入门到实战)

《Python实现Word转PDF全攻略(从入门到实战)》在数字化办公场景中,Word文档的跨平台兼容性始终是个难题,而PDF格式凭借所见即所得的特性,已成为文档分发和归档的标准格式,下面小编就来和大... 目录一、为什么需要python处理Word转PDF?二、主流转换方案对比三、五套实战方案详解方案1:

SpringBoot结合Knife4j进行API分组授权管理配置详解

《SpringBoot结合Knife4j进行API分组授权管理配置详解》在现代的微服务架构中,API文档和授权管理是不可或缺的一部分,本文将介绍如何在SpringBoot应用中集成Knife4j,并进... 目录环境准备配置 Swagger配置 Swagger OpenAPI自定义 Swagger UI 底

Oracle迁移PostgreSQL隐式类型转换配置指南

《Oracle迁移PostgreSQL隐式类型转换配置指南》Oracle迁移PostgreSQL时因类型差异易引发错误,需通过显式/隐式类型转换、转换关系管理及冲突处理解决,并配合验证测试确保数据一致... 目录一、问题背景二、解决方案1. 显式类型转换2. 隐式转换配置三、维护操作1. 转换关系管理2.

IDEA中配置Tomcat全过程

《IDEA中配置Tomcat全过程》文章介绍了在IDEA中配置Tomcat的六步流程,包括添加服务器、配置部署选项、设置应用服务器及启动,并提及Maven依赖可能因约定大于配置导致问题,需检查依赖版本... 目录第一步第二步第三步第四步第五步第六步总结第一步选择这个方框第二步选择+号,找到Tomca

Win10安装Maven与环境变量配置过程

《Win10安装Maven与环境变量配置过程》本文介绍Maven的安装与配置方法,涵盖下载、环境变量设置、本地仓库及镜像配置,指导如何在IDEA中正确配置Maven,适用于Java及其他语言项目的构建... 目录Maven 是什么?一、下载二、安装三、配置环境四、验证测试五、配置本地仓库六、配置国内镜像地址

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Spring WebClient从入门到精通

《SpringWebClient从入门到精通》本文详解SpringWebClient非阻塞响应式特性及优势,涵盖核心API、实战应用与性能优化,对比RestTemplate,为微服务通信提供高效解决... 目录一、WebClient 概述1.1 为什么选择 WebClient?1.2 WebClient 与

Debian系和Redhat系防火墙配置方式

《Debian系和Redhat系防火墙配置方式》文章对比了Debian系UFW和Redhat系Firewalld防火墙的安装、启用禁用、端口管理、规则查看及注意事项,强调SSH端口需开放、规则持久化,... 目录Debian系UFW防火墙1. 安装2. 启用与禁用3. 基本命令4. 注意事项5. 示例配置R

PyCharm中配置PyQt的实现步骤

《PyCharm中配置PyQt的实现步骤》PyCharm是JetBrains推出的一款强大的PythonIDE,结合PyQt可以进行pythion高效开发桌面GUI应用程序,本文就来介绍一下PyCha... 目录1. 安装China编程PyQt1.PyQt 核心组件2. 基础 PyQt 应用程序结构3. 使用 Q