时钟频率的配置-DG32

news2024/11/25 14:20:29

时钟频率的配置-DG32

HXTAL:高速外部时钟,4到32MHz的外部振荡器,可为系统提供精确的主时钟。带有特定频率的晶体必须靠近两个HXTAL的引脚。和晶体连接的外部电阻和电容必须根据所选择的振荡器来调整;

LXTAL:低速外部时钟,一个32.768kHz的低速外部晶体或陶瓷谐振器。它为实时时钟电路提供一个低功耗且精确的时钟源。

IRC8M:高速内部时钟,高速内部8MHz时钟,拥有8MHz的固定频率,设备上电后CPU默认选择的时钟源就是IRC8M时钟;

IRC40K:低速内部时钟,它的时钟频率大约40 kHz,为独立看门狗定时器和实时时钟电路提供时钟;

IRC48M: 有一个固定的频率48MHz,可用作USB时钟或者PLL时钟源

在这里插入图片描述

内部时钟配置

void SystemInit (void)
{
  /* FPU settings */
#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
    SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2));  /* set CP10 and CP11 Full Access */
#endif
    /* reset the RCU clock configuration to the default reset state */
    /* Set IRC8MEN bit */
    RCU_CTL |= RCU_CTL_IRC8MEN;						//打开内部8MHz RC振荡器
    while(0U == (RCU_CTL & RCU_CTL_IRC8MSTB)){  	//等待内部8MHz RC振荡器稳定
    }
    RCU_MODIFY(0x50);								//AHB时钟分频设置 先二分频再四分频
    
    RCU_CFG0 &= ~RCU_CFG0_SCS;						//00:选择 CK_IRC8M 时钟作为 CK_SYS 时钟源

#if (defined(GD32F30X_HD) || defined(GD32F30X_XD))
    /* reset HXTALEN, CKMEN and PLLEN bits */
	/*外部高速时钟使能位、HXTAL 时钟监视器使能位、PLL使能位 复位,方便后续操作*/
    RCU_CTL &= ~(RCU_CTL_PLLEN | RCU_CTL_CKMEN | RCU_CTL_HXTALEN);
    /* disable all interrupts */
    /*关闭中断位*/
    RCU_INT = 0x009f0000U;
#elif defined(GD32F30X_CL)
    /* Reset HXTALEN, CKMEN, PLLEN, PLL1EN and PLL2EN bits */
    RCU_CTL &= ~(RCU_CTL_PLLEN |RCU_CTL_PLL1EN | RCU_CTL_PLL2EN | RCU_CTL_CKMEN | RCU_CTL_HXTALEN);
    /* disable all interrupts */
    RCU_INT = 0x00ff0000U;
#endif

    /* reset HXTALBPS bit */
    RCU_CTL &= ~(RCU_CTL_HXTALBPS); //旁路模式位复位
    
    /* Reset CFG0 and CFG1 registers */
    RCU_CFG0 = 0x00000000U;
    RCU_CFG1 = 0x00000000U;
    /* configure the system clock source, PLL Multiplier, AHB/APBx prescalers and Flash settings */
    system_clock_config();
}

外部时钟

AHB总线为系统时钟的1分频
APB1总线为系统时钟的2分频
APB2总线为系统时钟的1分频

例子一
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
例子二
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
108=(8/2)*RCU_PLLMUPLX
RCU_PLLMUPLX=27

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/621855.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chatgpt赋能python:Python开发桌面应用全面介绍

Python开发桌面应用全面介绍 Python是一种非常万能的编程语言&#xff0c;也逐步发展成为一种适用于开发各种桌面应用程序的语言。Python开发桌面应用的优点是它可以快速开发&#xff0c;易于阅读和使用&#xff0c;同时具有很高的可扩展性和可维护性&#xff0c;因此越来越多…

chatgpt赋能python:Python开立方:简单快捷的计算方法

Python开立方&#xff1a;简单快捷的计算方法 如果你是一位程序员或者是一个正在学习编程的初学者&#xff0c;那么你一定会用到Python这个编程语言。Python作为一门多用途的编程语言&#xff0c;它有着简单易学、高效快捷、优雅简洁等优点。同时&#xff0c;在数据分析、人工…

Keras-3-实例2-多分类问题

1. 多分类问题&#xff1a; 1.1 路透社数据集加载 路透社数据集由路透社在1986年发布&#xff0c;包含46个不同的主题&#xff1a;某些主题样本较多&#xff0c;某些较少&#xff0c;但是训练集中每个主题都至少含有10个样本。 from keras.datasets import reuters(train_da…

ViewOverlay-加蒙层真的一种实现方式

一、ViewOverlay能实现什么&#xff1f; 在Android中&#xff0c;ViewOverlay是一个特殊的视图层&#xff0c;可以在一个视图的上方添加和管理附加的视图层&#xff0c;而不会干扰原始视图的布局和交互。它提供了一种方便的方式来在运行时添加、移除或修改视图层&#xff0c;而…

chatgpt赋能python:Python嵌入SEO

Python嵌入SEO Python是一种高级编程语言&#xff0c;由于其简单易学和广泛应用的特点&#xff0c;已经成为了许多工程师的首选语言。随着互联网发展的趋势&#xff0c;现代的SEO已经不再是简单的关键词填充和链接堆积&#xff0c;而是需要更复杂的优化方式&#xff0c;这时候…

Sentinel在k8s部署

一、Sentinel Dashboard在k8s部署 官方jar包下载 由于sentinel dashboard官方没有提供镜像下载&#xff0c;需从sentinel官方下载sentinel dashboard的jar包&#xff0c;这里选择1.8.0进行下载。注意与springboot版本的兼容性。 打镜像并上传自己镜像仓库 在自己项目中添加…

mac(M1)芯片安装Stable-diffusion-webui

背景&#xff1a;听同事说这个都是在GPU上跑的&#xff0c;cpu跑这个比较费劲。我本地mac跑这个&#xff0c;也是为了调试一些相关的插件和api。为了开发方便点。当然确实提吃内存的。 目录 一、Stable-diffusion-webui 项目地址和官方安装方式 二、自己的安装方式 2.1、更…

自定义注解,基于redis实现分布式锁

一、如何实现自定义注解 1.1、注解的基础知识 实现自定义注解其实很简单&#xff0c;格式基本都差不多。也就参数可能变一变。 Retention&#xff1a;取值决定了注解在什么时候生效&#xff0c;一般都是取运行时&#xff0c;也就是RetentionPolicy.RUNTIME。 Target&#xff…

Unreal5 第三人称射击游戏 射击功能实现2

上一篇我们实现了角色射击相关的动画以及切换逻辑&#xff0c;并将武器相关的模型添加到角色身上。 这一篇开始制作武器相关的功能。 制作子弹父类 首先创建一个actor类&#xff0c;命名为BP_Bullet&#xff0c;这个作为子弹的通用父类&#xff0c;在里面创建子弹通用的功能实…

测试相关知识

测试基础知识 1. 测试基本理念2. 软件测试的分类2.1 程序是否运行2.2 测试时间段划分2.3 是否涉及实现2.4 其它测试2.5 当前流程的测试概念 3. 测试设计方法4. 参考书籍 1. 测试基本理念 软件测试的定义&#xff1a;软件测试是使用人工或自动的手段来运行或测定某个软件系统的…

chatgpt赋能python:Python年龄换算:如何根据Python版本算出“年龄”?

Python年龄换算&#xff1a;如何根据Python版本算出“年龄”&#xff1f; Python是一种高级编程语言&#xff0c;享有强大、易读、易用和可扩展性等各种优点。它是许多开发者使用的首选语言&#xff0c;尤其在数据科学和机器学习领域中备受推崇。 但是&#xff0c;Python几乎…

网络安全工具合集

首先&#xff0c;恭喜你发现了宝藏。 本文章集成了全网优秀的开源攻防武器项目&#xff0c;包含&#xff1a; 信息收集工具&#xff08;自动化利用工具、资产发现工具、目录扫描工具、子域名收集工具、指纹识别工具、端口扫描工具、各种插件....etc...&#xff09; 漏洞利用…

轮廓检测及功能

目录 一、实验介绍二、实验步骤三、实验任务任务一&#xff1a;轮廓特征练习一: 找到每个轮廓的方向任务二&#xff1a;边界矩形练习二: 围绕轮廓裁剪图像 一、实验介绍 1. 实验内容 本实验将学习轮廓检测及功能。 2. 实验要点 生成二进制图像来查找轮廓找到并画出轮廓轮廓…

面试题--12

1.MySQL 的内连接、左连接、右连接有什么区别&#xff1f; 2.MySQL 索引是怎么实现的&#xff1f; 3.索引的优点和缺点—查询频率高的字段 4.B树的特点和作用----必须先看 下面的网址 5.什么是聚集索引和非聚集索引 6.索引的分类 7.什么是最左前缀法则以及如何设计最左法则 8.怎…

图论基础和表示

一、概念及其介绍 图论(Graph Theory)是离散数学的一个分支&#xff0c;是一门研究图(Graph)的学问。 图是用来对对象之间的成对关系建模的数学结构&#xff0c;由"节点"或"顶点"(Vertex&#xff09;以及连接这些顶点的"边"&#xff08;Edge&a…

chatgpt赋能python:Python开源免费——为什么它是SEO世界的最佳选择

Python开源免费——为什么它是SEO世界的最佳选择 介绍 Python是一种流行的程序设计语言&#xff0c;拥有众多的开源库和响应式社区。它广泛应用于机器学习、数据科学、Web开发、系统自动化等领域。Python不仅易于学习和使用&#xff0c;而且完全免费并且开源&#xff0c;使得…

Linux线程的同步与互斥(二) 条件变量+信号量

文章目录 二、线程同步条件变量1、条件变量的概念2、同步概念与竞态条件3、条件变量函数初始化4、条件变量函数销毁5、条件变量函数等待6、条件变量函数唤醒等待生产者消费者模型1、理论部分2、“3 2 1”原则3、基于阻塞队列的生产者消费者模型 POSIX信号量1、信号量的概念2、信…

时间序列学习 经典案例(5)【stability_selection】股票数据特征分析与特征选择

0.环境配置 本文用到的环境是&#xff1a; jupyter 略python 3.9stability_selection 略&#xff0c;见下文。scikit-learn 1.2.2seaborn 0.12.2pandas 1.3.5numpy 1.22.3matplotlib 3.6.3tushare 1.2.89baostock 00.8.80yfinance 0.2.18 1.stability_selection模块安装【问…

【MySQL数据库 | 番外篇】 聚合函数

前言&#xff1a; 聚合函数是分组查询中一个重要的组成部分&#xff0c;想要利用分组查询&#xff0c;就要对聚合函数有不错的掌握&#xff0c;因此我们在这里开一篇番外&#xff0c;讲解SQL语法中的聚合函数 聚合函数&#xff1a; 聚合函数是SQL中一种特殊的函数&#xff0c;…

大模型信息提取、文本生成、视觉语音应用

448页新书《基础模型自然语言处理》&#xff0c;详述大模型在信息提取文本生成视觉语音应用。 Dr. Gerhard Paa 等人合著的《Foundation Models for Natural Language Processing》 一书系统介绍基础模型研究和应用的全面概述&#xff0c;而且是目前对此方面研究最新的综述。 …