STM32 直接修改寄存器来输出内部时钟的方法

news2024/11/27 14:42:55

1. 在特殊情况下使能 MCO 功能的方法

在对某些不容易复现的问题进行代码调时,需要观察内部时钟的情况,但往往代码之前并没有使能 MCO 功能,在这种情况下就可以使用寄存器直接配置来输出内部时钟到GPIO 脚位上进行观察和测试。

下面的例子就是在调试 STM32G474 很难复现的一个问题,调试暂停时,通过 PC 端调试工具直接更改寄存器配置来使能 MCO 功能输出 SYSCLK 到 GPIO 口的方法。

2. 具体实现

MCO 输出内部时钟到 GPIO 脚位,可以不通过运行用户代码,直接在 PC 端调试工具中配置寄存器来实现。

在程序暂停时,往往已经走过了时钟配置,在这种情况下首先需要使能并配置RCC_CFGR 寄存器。MCOSEL[3:0]=0x1,选 SYSCLK 来输出(当然,也可以根据实际情况选择输出其他时钟源)。
图1.
在这里插入图片描述
在这里插入图片描述
在调试软件中直接手动修改寄存器配置值,如下图:
图4.
在这里插入图片描述
其次,需要配置 GPIO 通路:GPIO MCO 选用 PA8 , AF0 功能。
图5.
在这里插入图片描述
GPIO 选择下面黄色的配置:在下面的配置之前代码中需要打开 GPIOA 的 clock。
图6.
在这里插入图片描述
GPIOA_MODER.MODE8[1:0] 在寄存器窗口中手动修改为 0x2:
图7.
在这里插入图片描述
图8.
在这里插入图片描述
GPIOA_OTYPER.OT8 配置为 0,在上电默认的情况下,不用修改,已经是 0 了。
图9.
在这里插入图片描述
GPIOA_OSPEEDR.OSPEED8[1:0] 配置成 0x2 或 0x3。
在这里插入图片描述
在这里插入图片描述
GPIOA_PUPDR.PUPD8[1:0] 在寄存器窗口中手动配置为 0x1。

图13.
在这里插入图片描述
在这里插入图片描述

GPIOA_AFRH.AFSEL8[3:0] 配置为 0x0,上电默认已经为 0 了,不用修改,如果不是,请手动修改为 0。

图16.
在这里插入图片描述
手动修改后的 GPIOA 寄存器值为如下图 18 所示:

在这里插入图片描述

3. 总结

在调试软件时,可以通过 PC 端调试工具直接修改寄存器配置来使能某些功能。不过,使用中须注意遵守一定的流程,比如先开启对应的外设 clock,然后才能配置具体的寄存器去实现一些具体的功能。
本文档参考ST官方的《【应用笔记】LAT1315+串口DMA接收不定长数据的一种方法》文档。
参考下载地址:https://download.csdn.net/download/u014319604/89056023

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

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

相关文章

泰迪智能科技荣获山东省“技能兴鲁”职业技能大赛优秀组织奖

近日,泰迪智能科技荣获了山东省“技能兴鲁”职业技能大赛——第四届山东省“云数”技能竞赛“优秀组织单位”。 据悉,山东省“技能兴鲁”职业技能大赛——第四届山东省“云数”技能竞赛是由山东电子学会、山东省信息产业协会主办的,该竞赛是通…

产品之美10| 小小提示词(hint),便于用户交互

最近AIGC功能火热,有文生图和图生图两种。当用户初次接触到文生图的时候,会有一刻停顿:我该怎用输入呢?这时候的hint就可以发挥作用了: 编辑框(EditView)里面有可爱的小女孩,加风格卡通。用户看…

面试题1(京东)之HiveSql --- 难度:入门初级

第1题 有如下的用户访问数据 userIdvisitDatevisitCountu012017/1/215u022017/1/236u032017/1/228u042017/1/203u012017/1/236u012017/2/218u022017/1/236u012017/2/224 要求使用SQL统计出每个用户的累积访问次数,如下表所示: 用户id月份小计累积u01…

Linux+ARM 简单环境检测---软件部分

1、前言 这个是我学习linuxARM的在做的第一个软硬件结合项目,以往的类似这种整体类项目还是光单片机的时候,linux软件部分学习了差不多快一年了,因为各种事情耽搁,这个项目一直没有静下心来完成,不过终于哈哈哈哈搞完了…

摸鱼的时候可以干什么?

可以做什么?有了VScode,你想做啥都可以! 1、刷知乎 上班总是忍不住刷知乎,但是又怕领导发现,这个插件可以帮助你悄无声息地愉快地浏览知乎,有多少人是用这款插件看到的这篇文章? 你甚至可以用 M…

Java反序列化JDK动态代理的关系

Java代理模式 为什么要学习代理模式?了解开发原理,才能明白漏洞的产生。这不仅仅是SpringAOP的底层! [SpringAOP 和 SpringMVC] 代理模式的分类: 静态代理动态代理 静态代理 角色分析: 抽象角色:一般会…

【vue】一个小bug和key的引入

点击master Vue!删除后该list后输入框中的Jerry消失了 原因:vue当你更改元素时会在真实的dom中渲染并更新list。这两个goal是两个dom元素,触发点击事件后,vue并不会删除第一个dom元素,而是把第二个dom元素的动态内容({{ goal }} - {{ index }})复制到第一个dom元素…

Logback日志框架(超详细)

logback-classic-1.2.3.jarhttp://链接: https://pan.baidu.com/s/1cA3gVB_6DEA-cSFJN6MDGw 提取码: sn8i 复制这段内容后打开百度网盘手机App,操作更方便哦 logback-core-1.2.3.jarhttp://链接: https://pan.baidu.com/s/19eCsvsO72a9PTqpXvXxrgg 提取码: 5yp…

JHY-31复合电压继电器 额定电压Un=110VDC 板后接线 JOSEF约瑟

用途: JHY-31复合电压继电器使用于电力系统的继电保护线路中,作为各种类型故障的判别元件和电压闭锁元件。 继电器型号名称: 例:辅助直流工作电压为110V的复合电压继电器的订货代号为: JHY-31/110V。 工作原理: 继电器内部具有负…

云架构(二) 大使模式

Ambassador pattern (https://learn.microsoft.com/en-us/azure/architecture/patterns/ambassador) 简单描述 创建一个助手服务,这个服务代表消费服务或者应用程序发送网络请求。大使服务可以看做是与客户机同一个位置的进程外代理。 这种…

【JDK常用的API】包装类

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收藏 …

微服务(基础篇-007-RabbitMQ)

目录 初识MQ(1) 同步通讯(1.1) 异步通讯(1.2) MQ常见框架(1.3) RabbitMQ快速入门(2) RabbitMQ概述和安装(2.1) 常见消息模型(2.2) 快速入门&#xff…

精品丨PowerBI负载测试和容量规划

当选择Power BI作为业务报表平台时,如何判断许可证的选择是否符合业务需求,价格占了主导因素。 Power BI的定价是基于SKU和服务器内核决定的,但是很多IT的负责人都不确定自己公司业务具体需要多少。 不幸的是,Power BI的容量和预期…

短剧App开发:打造移动端的精彩剧情盛宴

在快节奏的生活中,人们对于娱乐内容的需求日益旺盛,短剧作为一种新兴的影视形式,以其紧凑的剧情、生动的表演和精彩的情节,受到了广大观众的喜爱。为了满足广大用户对短剧内容的渴望,我们倾力打造了一款全新的短剧App&…

02_在VM虚拟机创建Win7系统

一、镜像 Windows 7 Ultimate with Service Pack 1 (x64) - DVD (Chinese-Simplified) 二、新建虚拟机 选择下载的win7系统镜像,.ISO结尾的文件。 选择系统版本 选择名称和位置

概率论经典题目-二维随机变量及分布--求离散型的联合分布律和边缘分布律问题

题目:一整数N等可能地在1,2,3,…,10十个值中取一个值设DD(N)是能整除N的正整数的个数,FF(N)是能整除N的素数的个数(注意1不是素数).试写出D和F的联合分布律,并求边缘分布律? 解答: 1)要确定整数 N 能够被整除的正整数个数 D 和素…

线上废品回收小程序开发,线上回收成为大众“新宠”

随着全球回收意识的提高,废品回收已经成为了一个热门话题,在可持续发展下,回收市场领域有着巨大的发展前景。 如今,回收市场也进入到了互联网潮流中,互联网和数字化技术的发展对回收行业的发展起到了很大推动作用。回…

【Go】三、Go指针

文章目录 1、指针2、说明 1、指针 &符号变量 就可以获取这个变量内存的地址*int 是一个指针类型 (可以理解为 指向int类型的指针) package main import("fmt" ) func main(){var age int 18//&符号变量 就可以获取这个变量内存的地…

聚观早报 | 小米SU7正式发布;xAI推出Grok-1.5

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 3月30日消息 小米SU7正式发布 xAI推出Grok-1.5 红魔9 Pro新品亮相 长城汽车2023年营收 快狗打车2023年度业绩 小…

UWB辅助RTK如何应对极端环境

1.UWB定位 - UWB(Ultra-Wideband)是一种无线通信技术,其特点是具有较宽的频带,可以提供0.1-0.5m高精度的距离测量。 - UWB定位需要四台基站(每台基站视距间隔50-100米)呈矩形安装部署,以实现…