0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

应用笔记|直接修改寄存器来输出内部时钟的方法

STM32单片机 来源:未知 2023-06-13 17:35 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

关键字:MCO,手动修改寄存器

目录预览

1 在特殊情况下使能 MCO 功能的方法2 具体实现3 总结

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

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

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

2.具体实现

MCO 输出内部时钟到 GPIO 脚位,可以不通过运行用户代码,直接在 PC 端调试工具中配置寄存器来实现。在程序暂停时,往往已经走过了时钟配置,在这种情况下首先需要使能并配置RCC_CFGR 寄存器MCOSEL[3:0]=0x1,选 SYSCLK 来输出(当然,也可以根据实际情况选择输出其他时钟源)。 6802c37e-09cd-11ee-962d-dac502259ad0.png68304952-09cd-11ee-962d-dac502259ad0.png 在调试软件中直接手动修改寄存器配置值,如下图:6880b8f6-09cd-11ee-962d-dac502259ad0.png 其次,需要配置 GPIO 通路:GPIO MCO 选用 PA8 , AF0 功能。68cbc01c-09cd-11ee-962d-dac502259ad0.png

GPIO 选择下面黄色的配置:在下面的配置之前代码中需要打开 GPIOA 的 clock。

68fc8f9e-09cd-11ee-962d-dac502259ad0.png

GPIOA_MODER.MODE8[1:0] 在寄存器窗口中手动修改为 0x2:

69222f1a-09cd-11ee-962d-dac502259ad0.png

695f148e-09cd-11ee-962d-dac502259ad0.png

GPIOA_OTYPER.OT8 配置为 0,在上电默认的情况下,不用修改,已经是 0 了。

698b2cf4-09cd-11ee-962d-dac502259ad0.png

GPIOA_OSPEEDR.OSPEED8[1:0] 配置成 0x2 或 0x3。

69a7b6c6-09cd-11ee-962d-dac502259ad0.png

69c47108-09cd-11ee-962d-dac502259ad0.png

GPIOA_PUPDR.PUPD8[1:0] 在寄存器窗口中手动配置为 0x1。

69e6217c-09cd-11ee-962d-dac502259ad0.png

6a00312a-09cd-11ee-962d-dac502259ad0.png

6a36bfb0-09cd-11ee-962d-dac502259ad0.png

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

6a6d285c-09cd-11ee-962d-dac502259ad0.png

6a8ebbc0-09cd-11ee-962d-dac502259ad0.png

手动修改后的 GPIOA 寄存器值为如下图 18 所示:

6ab9d116-09cd-11ee-962d-dac502259ad0.png

3. 总结

在调试软件时,可以通过 PC 端调试工具直接修改寄存器配置来使能某些功能。不过,使用中须注意遵守一定的流程,比如先开启对应的外设 clock,然后才能配置具体的寄存器去实现一些相应的功能。

完整内容请点击“阅读原文”下载原文档。

6ad50846-09cd-11ee-962d-dac502259ad0.png

长按扫码关注公众号

更多资讯,尽在STM32

点击“阅读原文”,可下载原文档


原文标题:应用笔记|直接修改寄存器来输出内部时钟的方法

文章出处:【微信公众号:STM32单片机】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6078

    文章

    45629

    浏览量

    675503
  • STM32
    +关注

    关注

    2313

    文章

    11210

    浏览量

    375291
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    除了修改配置电阻阻值,能否通过修改寄存器的值和MAX9295进行GMSL2通信?

    GMSL3方式,除了修改配置电阻阻值,能否通过修改寄存器的值和MAX9295进行GMSL2通信? 具体要修改寄存器有哪些?
    发表于 05-18 08:13

    LAT1202+TIM DMA burst 输出变频 PWM 波形应用笔记

    /TIM5 以及 TIM15/TIM16/TIM17。TIM 模块中,可通过修改 ARR 寄存器的值修改 PWM 的频率。如果使用 TIM1/TIM8 或者 TIM15/TIM16/
    发表于 01-11 17:22 0次下载

    嵌入式系统必懂的 20 个寄存器

    了嵌入式系统中开发者必懂的20个寄存器,让你快速掌握MCU的核心操作方法。01寄存器基础寄存器是CPU内部用于高速存取数据的小容量存储单元,
    的头像 发表于 11-14 10:28 1467次阅读
    嵌入式系统必懂的 20 个<b class='flag-5'>寄存器</b>

    E203添加浮点数方法寄存器设计

    IFU 给到 regfile 地址,regfile 就会输出相应的源操作数。进入 regfile 的代码后,可以看到如果是读寄存器,则源操作数将在地址输入的同一个时钟周期输出,如果是
    发表于 10-24 13:25

    ‌SN74LVC595A 8位移位寄存器技术文档总结

    SN74LVC595A器件包含一个8位串行输入、并联输出移位寄存器,该寄存器为8位D型存储寄存器供电。存储寄存器具有并行的 3 态
    的头像 发表于 09-28 15:09 1874次阅读
    ‌SN74LVC595A 8位移位<b class='flag-5'>寄存器</b>技术文档总结

    ‌SN74HCT595 8位移位寄存器技术解析与应用指南

    移位寄存器和存储寄存器提供时钟。移位寄存器具有一个直接覆盖清零 (SRCLR) 输入以及用于级联结构的串行 (SER) 输入和串行
    的头像 发表于 09-19 14:31 1335次阅读
    ‌SN74HCT595 8位移位<b class='flag-5'>寄存器</b>技术解析与应用指南

    TPIC6595 8位功率移位寄存器技术文档摘要

    或高压负载。 该器件包含一个 8 位串行输入、并行输出移位寄存器,该寄存器为 8 位 D 型存储寄存器供电。数据分别通过移位寄存器
    的头像 发表于 09-09 11:10 1103次阅读
    TPIC6595 8位功率移位<b class='flag-5'>寄存器</b>技术文档摘要

    ‌TPIC6B595 8位功率移位寄存器技术文档总结

    或高压负载。 该器件包含一个 8 位串行输入、并行输出移位寄存器,该寄存器为 8 位 D 型存储寄存器供电。数据分别通过移位寄存器
    的头像 发表于 09-09 10:16 1258次阅读
    ‌TPIC6B595 8位功率移位<b class='flag-5'>寄存器</b>技术文档总结

    请问如何通过 PinView 和 lua 脚本检查和修改寄存器状态?

    如何通过 PinView 和 lua 脚本检查和修改寄存器状态?
    发表于 08-28 07:57

    ‌TLC6C5912 12通道移位寄存器LED驱动技术文档总结

    D型存储寄存器。通过移位寄存器和存储寄存器进行数据传输 移位寄存器时钟 (SRCK) 和寄存器
    的头像 发表于 08-26 14:16 1214次阅读
    ‌TLC6C5912 12通道移位<b class='flag-5'>寄存器</b>LED驱动<b class='flag-5'>器</b>技术文档总结

    如何通过 PinView 和 lua 脚本检查和修改寄存器状态?

    如何通过 PinView 和 lua 脚本检查和修改寄存器状态?
    发表于 08-25 06:59

    SN74LV595B-EP低噪声8位移位寄存器技术解析与应用指南

    移位寄存器和存储寄存器提供时钟。移位寄存器具有直接覆盖清除 (SRCLR) 输入、串行 (SER) 输入和用于级联的串行
    的头像 发表于 08-15 09:28 1540次阅读
    SN74LV595B-EP低噪声8位移位<b class='flag-5'>寄存器</b>技术解析与应用指南

    Texas Instruments SN74LV8T594/SN74LV8T594-Q1移位寄存器特性/应用/框图

    器件输出(QA至QH)。为移位寄存器和存储寄存器提供单独的时钟(SRCLK和RCLK)和直接覆盖清除(SRCLR和RCLR)输入,允许数据单
    的头像 发表于 08-03 10:56 1332次阅读
    Texas Instruments SN74LV8T594/SN74LV8T594-Q1移位<b class='flag-5'>寄存器</b>特性/应用/框图

    Texas Instruments SN74ACT595/SN74ACT595-Q1 SIPO移位寄存器特性/应用/功能图

    寄存器和移位寄存器提供时钟。该移位寄存器具有直接覆盖清除 (SRCLR\) 输入、串行 (SER) 输入,以及进行级联的串行
    的头像 发表于 07-07 15:27 1748次阅读
    Texas Instruments SN74ACT595/SN74ACT595-Q1 SIPO移位<b class='flag-5'>寄存器</b>特性/应用/功能图

    Texas Instruments SN74AC596/SN74AC596-Q1 SIPO移位寄存器特性/应用/框图

    具有并行开漏输出。分别为存储寄存器和移位寄存器提供时钟。移位寄存器具有串行(SER)输入、直接
    的头像 发表于 07-05 15:47 1125次阅读
    Texas Instruments SN74AC596/SN74AC596-Q1 SIPO移位<b class='flag-5'>寄存器</b>特性/应用/框图