奔奔 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时钟配置相关推荐
- MSP430F5529 DriverLib 库函数学习笔记(一)时钟配置和闪烁LED
目录 一.新建工程 二.时钟树 时钟系统结构 时钟系统的原理 时钟树配置实战 三.点灯工程师 封装好的初始化函数 平台:Code Composer Studio 10.3.1 MSP430F5529 ...
- Crypto++入门学习笔记(DES、AES、RSA、SHA-256)
Crypto++入门学习笔记(DES.AES.RSA.SHA-256) 背景(只是个人感想,技术上不对后面的内容构成知识性障碍,可以skip): 最近,基于某些原因和需要,笔者需要去了解一下Crypt ...
- 【带着canvas去流浪(11)】Three.js入门学习笔记
[摘要] three.js 入门学习笔记 示例代码托管在:http://www.github.com/dashnowords/blogs 一. 资料推荐及建议 1.官方文档 很详细,但是API部分单独 ...
- RT-Thread Nano入门学习笔记(2)
RT-Thread系列 Keil模拟器 STM32F103上手指南学习笔记 RT-Thread Studio快速上手 RT-Thread Nano入门学习笔记(1) 项目实战:快速打造一个桌面mini ...
- 图匹配(Graph Matching)入门学习笔记——以《Factorized Graph Matching》为例(二)
本文是"图匹配入门学习笔记--以<Factorized Graph Matching>为例"系列的第二篇文章,主要介绍了FGM算法的实现过程,包括图匹配的因式分解形式, ...
- 图匹配(Graph Matching)入门学习笔记——以《Factorized Graph Matching》为例(一)
这篇文章本身是图匹配经典论文<Factorized Graph Matching>的阅读笔记,后来发现该文介绍并串联了许多图匹配相关的知识,甚至可以看作一个小小的综述性文章,因此就作为图匹 ...
- shell入门学习笔记-12-命令详解: echo与printf
系列目录与参考文献传送门: shell入门学习笔记-序章 命令详解 admindeMacBook-Pro:myshell admin$ type cd cd is a shell builtin ad ...
- RT-Thread Nano入门学习笔记(1)
RT-Thread系列 Keil模拟器 STM32F103上手指南学习笔记 RT-Thread Studio快速上手 RT-Thread Nano入门学习笔记(2) 项目实战:快速打造一个桌面mini ...
- Python快速编程入门#学习笔记01# |第一章 :Python基础知识 (Python发展历程、常见的开发工具、import模块导入)
全文目录 ==先导知识== 1 认识Python 1.1.1 Python的发展历程 1.1.2 Python语言的特点 2. Python解释器的安装与Python程序运行 1.2.1 安装Pyth ...
- shell入门学习笔记-15-命令详解: 三剑客之一awk-分支语句、数组
系列目录与参考文献传送门: shell入门学习笔记-序章 awk分支控制 if admindeMacBook-Pro:~ admin$ seq 5 |awk '{if($0%2) print $0}' ...
最新文章
- 51nod 1087 1 10 100 1000
- 360浏览器极速模式_【小技巧】解除浏览器主页以及,锁定主页~
- SpringBoot中自定义拦截器
- 常用的LINQ to SQL 用法
- UVa 10905 孩子们的游戏
- php ../ 和 ./ 区别,php $_POST 与 php://input的区别分析
- 阅读源码的 4 个绝技,我必须分享给你!
- openstack 排错
- export default 打包_贵阳【打包扣】价格
- 一个文科妹子的前端悲欢编程之路
- java事务的类型——面试被问到
- 【备忘】mysql优化工具
- 第三章 Guarded Suspension模式 等我准备好哦
- 如何充分利用云计算解决云备份?
- C++ 内存管理 —— 第一講:C++ 內存構件
- 使用JDK的 keytool 生成JKS,修改查看JKS信息
- 考研数学-初数1主讲人:郑小松-2020年07月04日
- iOS 编译过程的原理和应用
- 夯实Java基础系列22:一文读懂Java序列化和反序列化
- 汶川大地震中的SAP成都研究院
热门文章
- python将多个txt内容合并_python合并多个txt文件成为一个文件
- INVT英威腾GD200A系列变频器使用PID实现恒压供水功能的相关参数设置及接线
- jQuery视频格式的验证
- QT-C++ 注册机软件,生成机器码和注册码,支持授权时间
- python中控脚本_ZKTime-Py
- 利用win10自带的工具测硬盘读写速度
- Linux 之六 Shell、终端(Terminal)、控制台(Console)、CLI 命令行界面、GUI 图形用户界面(X、X11、Xfree86、Xorg、GNOME、KDE)
- inventor中齿条怎么画_标准齿轮及齿条绘制方法
- MySQL间隙锁死锁问题
- 【数据统计】移动端数据可视化模板、数据统计、Axure移动端图表数据统计设计