华大F460系列出了好几款,手里有一款HC32F460PETB系列的芯片,去年官网上面给出的例程还是2.1版本,今年再去看的时候,驱动和例程已经更新到了3.0,对比之后发现驱动部分改变还比较大,虽然本质上还是对寄存器进行配置,但是配置形式和封装,还有宏的检查上面,感觉让人理解的话,更加困难一些。根据代码能跑就不要乱动的原则,本来是不想更新的,但是2.1的时候发现一些问题,比如PA11设置为输入的时候,总是读取不到低电平;使用keil的V6.16编译器的时候,就会造成功能很v5版本的不一样,keil的V6编译器与V5相比,有多快?想必用的人都身能体会!自从更换了V6编译器,编译一遍划水3分钟的好日子就一去不复返了。所以,更新驱动库就显得迫在眉睫了。

上一篇讲述了开机启动文件,对了,从启动开始,单步调试就能知道运行流程了。华大(现在改名小华半导体)芯片启动文件详细讲解_风一样的航哥的博客-CSDN博客

今天来简单概述一下时钟的配置。能在数据手册和用户手册看到的东西就不多说了,总结起来大概就是这样子的:

首先外部高速时钟进来,通过选择器进行选择,这里选择有两个第一是外部高速时钟,第二是内部高速时钟作为PLL的时钟源,这里我们选择的是外部高速时钟,外部高速时钟进入PLL之前需要进行分频,为什么要分频呢?应该是消除外部干扰,比如8M的外部高速时钟进入后,进行8分频,这样的话就得到了1M的时钟,然后这1M的时钟再进行倍频,倍频后就得到了一个特别高速的时钟,这个时钟是无法进行使用的,因为频率太快了,所以还有进行再次的分频,分频后的时钟呢就可以作为系统时钟来使用了,系统时钟有了,我们再根据AHP和APB上外设的不同,对系统时钟进行分频处理,这样就得到了我们所需要的外设时钟了,然后根据不同的时钟进行通信。

外部高速时钟
                   ↓
                   分频
                    ↓
                   倍频
                    ↓
            选择为系统时钟
                    ↓
            系统时钟分频
                    ↓
     不同的外设时钟总线再次分频
                    ↓
                    结束

今天遇到的问题是将8M晶振改为12M,因为keta开发板和petb两个开发板是不一样的。参考配置方法为:

华大hc32f460的官方板使用8Mhz无源晶振,关键点如下:
8M无源晶振配置:stcXtalCfg.enMode = ClkXtalModeOsc;
12M有源晶振配置:stcXtalCfg.enMode = ClkXtalModeExtClk;

/* Switch system clock source to MPLL. */
            /* Use Xtal as MPLL source. */
            /* active crystal:ClkXtalModeExtClk,passive crystal:ClkXtalModeOsc */
                stcXtalCfg.enMode = ClkXtalModeExtClk;
                stcXtalCfg.enDrv = ClkXtalLowDrv;
                stcXtalCfg.enFastStartup = Enable;
                CLK_XtalConfig(&stcXtalCfg);
                CLK_XtalCmd(Enable);

以上问题解决。

配置12MHz有源晶振,具体配置总结如下:
(1)system_hc32f460.h的宏定义, XTAL_VALUE由8Mhz改为12Mhz
(2)keil工程配置XTAL改为12Mhz
(3)时钟初始化代码,stcXtalCfg.enMode = ClkXtalModeExtClk;(重点)
(4)PLL锁相环按照手册要求配置,在频率范围内

在以上重点的地方:要结合硬件电路确认是无源晶振还是有源晶振,不然就会跟我一样,调到怀疑自己。那怎么区别有源还是无源晶振呢?通常说的有源晶振叫做石英晶体振荡器。 而无源晶振称为石英晶体谐振器简称晶体。 传统的有源晶振和无源晶振非常好区分,有源晶振一般最少得有三个以上引脚:Vcc+、Vcc-和输出端。 而无源晶振只有两个引脚。

看这个晶振电路图,只有两个引脚,是无源晶振啦。要将stcXtalCfg.enMode,ll库中stcXtalInit.u8Mode,设置为CLK_XTAL_MD_OSC.

其他的分频系数,要根据自己需要进行计算。看懂用户用户手册就不难啦。

华大芯片时钟调试配置记录相关推荐

  1. 华大 MCU 之三 时钟控制器(CMU)配置记录

      今天在新项目(MCU 为华大 HC32F460)中不再使用外部晶振,转而要使用 HC32F460 内部的 HRC,之前在使用外部晶振时,对华大 MCU 的时钟配置有过一些了解,但是,由于使用内部晶 ...

  2. 瑞萨芯片程序移植到华大芯片,运行过程中出现HardFault

    记录一下遇见的大坑还没找到原因 如果有大佬遇见过同样问题可以唠唠T T 将原瑞萨芯片R5F100FG的程序移植到华大芯片HC32L176MATA上就移植底层的硬件初始化. 应用层逻辑不动,这样就不用自 ...

  3. 关于恩智浦MCS9SXEP100芯片时钟配置的问题

    关于恩智浦MCS9SXEP100芯片时钟配置的问题 起因: 最近工作上用到了恩智浦的MC9SXEP100芯片,在对其使用过程中对时钟模块配置和调试看门狗芯片SGM760时遇到的一些问题进行记录和交流, ...

  4. CAN控制器芯片MCP2510调试记录

    CAN控制器芯片MCP2510调试记录 配置CAN内核选项 配置CAN相关的内核选项,将下面几项配置添加到defconfig中: kernel/arch/arm/configs/xxx_defconf ...

  5. 嵌入式开发——rtc时钟调试笔记

    前段时间在调试AM335X的rtc时钟功能,一开始是使用芯片内部的rtc时钟模块,后来发现功耗有点高,转而使用rtc时钟芯片,型号为ds1672..现在把两者的调试要点记录下来,方便后续的查阅. 注: ...

  6. Proteus仿真stm32和51单片机,串口通信调试过程记录

    前言 本文所用Proteus版本为8.10,主要内容为在Proteus中仿真stm32和51单片机进行串口通信,记录了仿真过程中遇到的问题和解决办法.        这里要注意的是,在Proteus中 ...

  7. PHY芯片lan8720调试笔记

    简介 因工作需要,设计一款产品,使用STM32F407+LAN8720实现TCP通信.板子焊好后,运行程序一直卡在while (ETH_GetSoftwareResetStatus() == SET) ...

  8. Centos7 NTP时钟同步配置

    Centos7 NTP时钟同步配置 NTP在Linux下有两种时钟同步方式:直接同步(也称跳跃同步)和平滑同步(也称微调同步). 直接同步 使用ntpdate命令进行同步,直接进行时间变更. 如果服务 ...

  9. MyMac M1/Mac/Win Config配置记录---kalrry

    MyMac M1/Mac/Win Config配置记录---kalrry 前言 一.MyMac常用软件列表: 二.✅ Homebrew 三.✅ Xcode Comand Line Tools() 四. ...

最新文章

  1. 【Spark篇】---Spark解决数据倾斜问题
  2. dobbo 管理端端口_安装 Dubbo 管理控制台
  3. 【AI产品】一键去除杂物,Photo Eraser助你拍出美丽照片
  4. 使用Spring Security3的四种方法概述
  5. eclipse各种配置
  6. java 交换两个数的值(临时变量,加减,异或)
  7. 互联网+2.0:技术有多强 梦想才有多近
  8. 近一个月来的学习总结(今天的你比昨天的你进步了吗?)
  9. 操作系统进程线程程序
  10. TCMalloc : Thread-Caching Malloc
  11. 【Prison Break】第五天(4.1)
  12. android 语音库,安卓系统也能用苹果语音库:Vocalizer TTS语音引擎及语音包合集
  13. LPVOID和PVOID的区别是什么
  14. JDK和CGLIB动态代理的区别
  15. 【JavaScript】简易打地鼠游戏
  16. boost/mpl/assert.hpp:189:21: error: unnecessary parentheses in declaration of ‘assert_arg‘ [-Werror=
  17. 人民币大写的正确写法(开票据事项)
  18. urllib库如何设置代理如何传递并保存cookie【python爬虫入门进阶】(02-3)
  19. 数据守护集群之MPP主备集群
  20. 【WLAN】【基础知识】WIFI那些事儿之PMF

热门文章

  1. 寻找二值图像连通域的算法分析
  2. Android系统手机开机画面各个阶段代码执行流程分析(Part1)
  3. stm32与linux通过protobuf打包数据并进行通信
  4. 亚马逊上卖毛绒玩具CPC认证注意事项
  5. spring定时任务@Scheduled注解详解
  6. Get To The Point: Summarization with Pointer-Generator Networks
  7. 服务器放在机柜哪个位置,服务器放在机柜
  8. 大学生选定方向很重要!!!
  9. Gsoap使用精华总结
  10. Win11 预览体验计划空白无显示的一种解决方案