回答

收藏

【LPC824Lite】时钟系统+GPIO

#其他 #其他 2740 人阅读 | 0 人回复 | 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 可内部驱动输出至低
电平。



关注下面的标签,发现更多相似文章
分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条