zoukankan      html  css  js  c++  java
  • STM32 MCO时钟输出配置实验

     STM32PA.8引脚具有复用功能——时钟输出(MCO), 该功能能将STM32内部的时钟通过PA.8输出.

     

    操作流程:

    1)、设置PA.8为复用AF模式。

    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;

    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;

    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;

    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;

    GPIO_Init(GPIOA, &GPIO_InitStructure);

     

    2)、选择输出时钟源。

    时钟的选择由时钟配置寄存器(RCC_CFGR)。

    GPIO_PinAFConfig(GPIOA, GPIO_PinSource8, GPIO_AF_MCO);

    RCC_MCO1Config(RCC_MCO1Source_HSE, RCC_MCO1Div_1);

     

    参数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,则输出的波形会失真。

     

    例1:外部振荡器25Mhz。

    RCC_MCO1Config(RCC_MCO1Source_HSE, RCC_MCO1Div_1);

    输出时钟25Mhz。

     

    例2:外部振荡器25Mhz。

    RCC_MCO1Config(RCC_MCO1Source_HSE, RCC_MCO1Div_5);

    输出时钟5Mhz。

     

    例3:内部PLL时钟168Mhz。

    RCC_MCO1Config(RCC_MCO1Source_PLLCLK, RCC_MCO1Div_5);

    输出时钟33.57Mhz。

     

    例3:内部PLL时钟168Mhz。

    RCC_MCO1Config(RCC_MCO1Source_PLLCLK, RCC_MCO1Div_3);

    输出时钟55.75Mhz。

     

     

  • 相关阅读:
    机器学习(ML)二之损失函数
    机器学习包pip清华镜像源安装方法
    机器学习(ML)一之 Linear Regression
    linux安装glibc-2.14后字符集出问题
    HBase单机环境搭建
    MySQL基础笔记(六) 存储过程与函数
    MySQL基础笔记(五) 视图
    MySQL基础笔记(四) 索引
    MySQL基础笔记(三) 复杂查询
    MySQL基础笔记(二) 完整性约束
  • 原文地址:https://www.cnblogs.com/pingwen/p/11042338.html
Copyright © 2011-2022 走看看