打印
[开发工具]

MCO脚无时钟信号输出

[复制链接]
1963|49
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jf101|  楼主 | 2023-12-31 09:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

我们在STM32调试过程中,有时需要引出主时钟进行输出监视,即将主时钟通过MCO脚引出观察。
要想正确输出,MCO做正确配置是必须的了。当然用CubeMx配置的话一般不会有啥大问题。不过有个地方要注意,那个GPIO的输出速率参数要合适配置,不同STM32系列的GPIO最大可输出速率在数据手册上都明确出来了。当MCO输出时钟频率较高以至于超过GPIO的输出能力时,这时需要考虑先做分频后再来做观察。
一般来讲,当MCO的输出频率在1Mhz以上时,如果观察到的波形带有很严重的噪声或者扁平的小幅度信号,甚至看不到输出的时候,我们可以考虑下是否那个OSPEED参数设置得太小了;如果说看到周期较长、幅度较大带有明显上下峰值过冲情形的波形,我们可以考虑下是否那个OSPEED参数设置得太大了。

使用特权

评论回复
沙发
中国龙芯CDX| | 2024-1-24 08:09 | 只看该作者
用CubeMx配置的话一般不会有啥大问题

使用特权

评论回复
板凳
wengh2016| | 2024-2-2 20:28 | 只看该作者
检查MCO输出引脚(如PA8或其它支持MCO功能的引脚)是否正确配置为复用功能模式,并且选择为MCO功能。

使用特权

评论回复
地板
fengm| | 2024-2-4 21:39 | 只看该作者
在软件中正确设置了RCC外设的时钟输出源。例如,使用STM32 HAL库配置MCO输出通常涉及如下步骤:
初始化RCC并使能相关外设时钟。
设置MCO的来源,可能是HSE、HSI、PLLCLK等。
调用相应的函数设置MCO输出,如HAL_RCC_MCOConfig()。

使用特权

评论回复
5
everyrobin| | 2024-2-5 12:57 | 只看该作者
首先检查时钟配置。 在STM32CubeMX或手动配置中,MCO脚已被正确配置为输出时钟。

使用特权

评论回复
6
ccook11| | 2024-2-5 14:26 | 只看该作者
STM32的MCO可以输出内部时钟(如HSI、HSE、PLLCLK等)或外部时钟。

使用特权

评论回复
7
10299823| | 2024-2-5 17:52 | 只看该作者
硬件问题               

使用特权

评论回复
8
wwppd| | 2024-2-5 22:09 | 只看该作者
代码问题              

使用特权

评论回复
9
febgxu| | 2024-2-6 14:07 | 只看该作者
当MCO用于输出时钟时,其最大输出速率取决于具体的STM32系列

使用特权

评论回复
10
sesefadou| | 2024-2-6 15:46 | 只看该作者
在STM32的RCC(Reset and Clock Control)寄存器中,有一个MCO输出使能位(MCOSEL)。需要将该位置1,才能使MCO脚上有时钟信号输出。请检查您的代码中是否已正确配置了MCO输出使能。

使用特权

评论回复
11
maudlu| | 2024-2-6 16:16 | 只看该作者
配置MCO输出PLLCLK/2              

使用特权

评论回复
12
plsbackup| | 2024-2-6 23:03 | 只看该作者
MCO脚的配置可能会影响到时钟信号的输出。

使用特权

评论回复
13
bartonalfred| | 2024-2-7 02:58 | 只看该作者
时钟源未启用              

使用特权

评论回复
14
kkzz| | 2024-2-7 10:02 | 只看该作者
GPIO_InitTypeDef GPIO_InitStructure;
RCC_ClkInitTypeDef RCC_ClkInitStruct;

// 使能APB2外设时钟
__HAL_RCC_GPIOC_CLK_ENABLE();

// 配置PA8为复用推挽输出
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);

// 选择输出时钟源
RCC_MCOConfig(RCC_MCO_SYSCLK); // 输出系统时钟

使用特权

评论回复
15
beacherblack| | 2024-2-7 11:33 | 只看该作者
MCO引脚配置错误              

使用特权

评论回复
16
robincotton| | 2024-2-7 12:01 | 只看该作者
如果配置正确但MCO脚仍然没有输出,可能存在硬件故障,比如引脚脱焊、周边电路问题或者芯片损坏等。

使用特权

评论回复
17
cashrwood| | 2024-2-7 16:02 | 只看该作者
想要输出的那个时钟源已经被启用并且工作正常,比如HSE已经稳定工作,或者PLL已经成功配置并锁定

使用特权

评论回复
18
iyoum| | 2024-2-7 16:37 | 只看该作者
可以在RCCCFGR中设置AHB分频系数来控制MCO的输出频率。

使用特权

评论回复
19
pixhw| | 2024-2-7 18:25 | 只看该作者
MCO输出的时钟信号来自于特定的时钟源。 已正确配置了MCO时钟源。MCO时钟源可以是系统时钟(SYSCLK)、HSE(高速外部晶振)、HSI(高速内部振荡器)等

使用特权

评论回复
20
hilahope| | 2024-2-7 18:41 | 只看该作者
MCO脚仍无时钟信号输出,可能是硬件故障导致的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

231

主题

1538

帖子

2

粉丝