请教 STM32F107VCT6 PA8 如何配置MCO 输出50M

2019-07-21 04:11发布

如题
在网上找到了这样一段代码
STM32的PA.8引脚具有复用功能——时钟输出(MCO), 该功能能将STM32内部的时钟通过PA.8输出.
操作流程:
   1)、设置PA.8为复用Push-Pull模式。
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
    GPIO_Init(GPIOA, &GPIO_InitStructure);
   2)、选择输出时钟源。
    时钟的选择由时钟配置寄存器(RCC_CFGR)中的MCO[2:0]位控制。
    RCC_MCOConfig(RCC_MCO);
    参数RCC_MCO为要输出的内部时钟:
      RCC_MCO_NoClock --- 无时钟输出
      RCC_MCO_SYSCLK --- 输出系统时钟(SysCLK)
      RCC_MCO_HSI --- 输出内部高速8MHz的RC振荡器的时钟(HSI)
      RCC_MCO_HSE --- 输出高速外部时钟信号(HSE)
      RCC_MCO_PLLCLK_Div2 --- 输出PLL倍频后的二分频时钟(PLLCLK/2)
注:由于STM32 GPIO输出管脚的最大响应频率为50MHz,如果输出频率超过50MHz,则输出的波形会失真。


都试过了,但都不是我要的50M
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
正点原子
1楼-- · 2019-07-21 04:18
107你得超频到100Mhz,然后设置MCO=PLLCLK的2分频,就可以得到50M的输出。
翼行园子
2楼-- · 2019-07-21 07:17
这个是103的库,107的RCC的库应该也有的 操作差不多的 如果没有就看芯片数据手册RCC的操作对应的寄存器位 参数选择的是时钟源,含义上面都有注释 可以参考下 0cc5243581a7310d4747ae51c8fb1dd.png

一周热门 更多>