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

关键字: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 来输出(当然,也可以根据实际情况选择输出其他时钟源)。    在调试软件中直接手动修改寄存器配置值,如下图:  其次,需要配置 gpio 通路:gpio mco 选用 pa8 , af0 功能。   gpio 选择下面黄色的配置:在下面的配置之前代码中需要打开 gpioa 的 clock。
gpioa_moder.mode8[1:0] 在寄存器窗口中手动修改为 0x2:
gpioa_otyper.ot8 配置为 0,在上电默认的情况下,不用修改,已经是 0 了。
gpioa_ospeedr.ospeed8[1:0] 配置成 0x2 或 0x3。
gpioa_pupdr.pupd8[1:0] 在寄存器窗口中手动配置为 0x1。
gpioa_afrh.afsel8[3:0] 配置为 0x0,上电默认已经为 0 了,不用修改,如果不 是,请手动修改为 0。
手动修改后的 gpioa 寄存器值为如下图 18 所示:
3. 总结
在调试软件时,可以通过 pc 端调试工具直接修改寄存器配置来使能某些功能。不过,使用中须注意遵守一定的流程,比如先开启对应的外设 clock,然后才能配置具体的寄存器去实现一些相应的功能。
完整内容请点击“阅读原文”下载原文档。
长按扫码关注公众号
更多资讯,尽在stm32
▽点击“阅读原文”,可下载原文档
原文标题:应用笔记|直接修改寄存器来输出内部时钟的方法
文章出处:【微信公众号:stm32单片机】欢迎添加关注!文章转载请注明出处。

华为海思、燧原、海光、云天励飞等齐力打破封锁,谁主AI芯片江山?
想想那几年自己通信路上那些走过的弯路
巨头斥资1000亿建厂!电池回收将添“新兵”
威马EX5交付10万辆不是梦,贴心将用户需要的服务做到极致
华为Mate 20 Pro配备40W超级快充,68分钟充满
应用笔记|直接修改寄存器来输出内部时钟的方法
CITE 2014 4G商用元年引领信息消费转型升级
苹果iOS10.3 最新版发布,狂加新功能!
分析中国LED封装行业的现状和前景
华为汽车生态帝国
关于全球智能手表市场的调研报告
如何降低X-ray无损检测设备的使用成本?-智诚精展
高压接头元件的脱水细节电蜂
我国已建成全球最大的光纤和4G网络
平板充不进电是什么原因 平板充不进电如何解决
详细分析锂离子电池的电极材料选择
面向汽车市场CAN/Ethernet用共模扼流圈的噪声对策事例
惠普电信企业计费(BILLING)解决方案
单片机控制下的家居温度监控系统设计
【深智云-深智视野】极光尔沃已经把3D打印机悄然带入家庭