【LPC824Lite】时钟系统+GPIO

作者: qiqilinlin
上传时间为: 2017-04-19 04:36 PM
2017-04-19
阅读:

通常所说的系统时钟就是指时钟系统,它是由振荡器(信号源)、定时唤醒器、分频器等组成的电路。对于入门一款芯片来说,首先我们要了解的

是时钟系统,外设部件在时钟的驱动下完成各种工作,比如串口数据的发送、A/D转换、定时器计数等等。

首先配置主时钟和系统时钟

1.选择主时钟。

(1)IRC:12 MHz内部振荡器(默认) 

(2)PLL输出:您必须将PLL配置为使用PLL输出

2.更新主时钟源。

3.选择系统时钟的分频值。 分频器值为0将禁用系统时钟。

4.选择在应用程序中运行的存储器和外围设备

在系统启动过回调用上面的SystemInit()函数,根据我们需要来配置系统时钟。

Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_IOCON);//打开IOCON时钟

USE_IRC_AS_ROOT_CLOCK,这个定义是用来判断我们需要使用的内部12MHz还是外部晶振,默认我们没有定义这个,所以我们采用外部的

晶振作为我们的时钟源。

Chip_SetupIrcClocking(); //使用内部12MHz作为系统时钟源

配置外部晶振为时钟源需要通过以下的步骤来:

Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_SWM);//打开开关矩阵时钟

Chip_SWM_EnableFixedPin(SWM_FIXED_XTALIN);//使能XTALIN脚

Chip_SWM_EnableFixedPin(SWM_FIXED_XTALOUT);/使能XTALOUT脚

Chip_IOCON_PinSetMode(LPC_IOCON, IOCON_PIO8, PIN_MODE_INACTIVE);//设置引脚PIO8为Inactive mode

Chip_IOCON_PinSetMode(LPC_IOCON, IOCON_PIO9, PIN_MODE_INACTIVE);// 设置引脚PIO9为Inactive mode

Chip_SetupXtalClocking();//配置系统时钟

配置系统PLL。
1.打开PDRUNCFG寄存器中的系统PLL。

2.在SYSPLLCLKSEL寄存器中选择PLL输入

3.更新SYSPLLCLKUEN寄存器中的PLL时钟源。

4.配置PLL M和N分频器。

5.通过监视PLL锁定状态等待PLL锁定。

学习MCU都是从GPIO点灯开始,它是MCU最基础的组成。类似于编写程序的HelloWorld。GPIO寄存器位于ARM Cortex-M0 + IO总线上,以实现最快的单周期I / O时序,允许GPIO以高达15 MHz的速率切换。

每个引脚都可配置下列电气性能:

上拉 / 下拉模式

开漏模式

迟滞模式

模拟模式

所有I / O默认为GPIO输入,复位后使能内部上拉电阻,真正的开漏引脚 PIO0_10 和 PIO0_11 可配置成不同的 I2C 总线速度。位电平端口寄存

器允许单个指令设置和清除任何写操作。在 SYSAHBCLKCTRL 寄存器 中使能 IOCON 的时钟。一旦完成引脚配置,便可禁用 IOCON 时钟,降

低功耗。将GPIO DIR0 寄存器中的位 10 和位 11 设置为 1 可使能输出驱动器,将 1 写入 GPIO CLR0寄存器的位 10 和位 11 可内部驱动输出至低

电平。

全部评论 ()
条评论
写评论

创建讨论帖子

登录 后参与评论
系统提示