HR8P506,时钟配置,来自晶振的觉悟.附写配置字.

上一篇介绍了怎么用内部高速时钟做系统时钟,
内部时钟好是好,就是3%的偏差对于一些苛刻的场合也许不是那么适用.
那么现在,是时候适用外部晶振作为系统时钟了.

这颗芯片,如果使用晶振,在写程序前需要先写配置字.
好了,那就先说说怎么写配置字.

我手上的是JlinkV8,按官方说法,只要使用JLinkBurner.exe这个软件就能写.
这个软件在哪里?
在安装了Keil插件之后,这个软件就会出现你的Keil安装目录下.
如我电脑的就在”C:\Keil_v5\JLinkBurner”位置.

由于这个软件调用的是Jlink的烧录函数进行操作的,所以还有必要安装Jlink的驱动…
最好装个最新版的吧.

还有,,,特别要注意的地方!!!
一般我们用Jlink的SW模式调试的时候只要接SWDIO,SWCLK,GND这三个接口就好了.
而如果烧录配置字还这么用的话会提示解锁失败,怎么办,怎么办,怎么办,,,,

很简单,再把RST接口也接上就好了.

这里写图片描述

大概是这样,

好了,线也接了,接下来就是使用JLinkBurner了,
用之前,最好先详细阅读芯片手册的”芯片配置章节”.

这里写图片描述

打开JLinkBurner软件,芯片类型选择”HP8P506”,
可以看到默认的选项配置,我就不一一解读了,芯片手册上已经描述得很详细了.

首先要说明的是,我外部晶振接在了PB10,PB11这两个接口,晶振频率是8MHz.
我的调试接口是PA0,PA1,,,这个配置字也不能动,,,
其他的,先不管了,现在用不着.

这里写图片描述

如图,我只要配置这四个选项就可以……
为什么我的晶振明明是8Mhz,,INTOSC_SEL位置还要选择16Mhz.,,因为只有4M跟16M可以选,,,
只要仔细看看芯片手册就知道的了…

选择好之后,点击烧录配置字….
当软件提示”烧录配置字成功”后,这步就完成了.,..

下一步,写代码….

我们的目标,使用外部高速晶振,经PLL倍频到48M,作为系统主时钟使用,.
流程其实跟使用内部高速时钟差不多,

使能外部高速时钟
|
将外部高速时钟设置成PLL时钟输入
|
将PLL设置成48M输出
|
将系统时钟设置成PLL输入,不分频
|
大功告成

由上篇的代码改动一下就可以了.

    //打开所有外设时钟
    DeviceClockAllEnable();
    //原始时钟源选择为外部晶振
    SCU_SysClkSelect(SCU_CLK_XTAL);
    //打开PLL锁相环,输入为内部HRC 16M,输出为48M,系统时钟使用PLL
    PLLClock_Config(Enable,SCU_PLL_OUT8M,SCU_PLL_48M,Enable);
    //系统时钟后分频为1:1
    SCU_RegUnLock();
    SCU_SysClk_Div1();
    SCU_RegLock();

    GPIO_InitTmp.Func   = GPIO_Reuse_Func3;             //复用功能3
    GPIO_InitTmp.Dir    = GPIO_Direction_Output;        //设置为输出
    GPIO_InitTmp.DS     = GPIO_DS_Output_Strong;        //大电流
    GPIO_InitTmp.ODE    = GPIO_ODE_Output_Disable;      //开漏禁止
    GPIO_InitTmp.PDE    = GPIO_PDE_Input_Disable;       //弱下拉禁止
    GPIO_InitTmp.PUE    = GPIO_PUE_Input_Disable;       //弱上拉禁止
    GPIO_InitTmp.Signal = GPIO_Pin_Signal_Digital;      //管脚类型为数字模式
    GPIO_Init(GPIO_Pin_A9,&GPIO_InitTmp);

    //CLKOUT0输出时钟为系统时钟
    SCU_RegUnLock();
    SCU->SCLKEN0.CLKOUT0_SEL = 1;
    SCU_RegLock();

编译,下载.用示波器看PA9脚,

这里写图片描述

48M妥妥的,实验完成.

附上代码:http://pan.baidu.com/s/1dE58GIt

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值