野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11491|回复: 1

在PROTUES8.8里,使MCO输出sysclk信号,测试没反应???LED_G闪烁正常。求原因。

[复制链接]
发表于 2019-4-8 16:24:16 | 显示全部楼层 |阅读模式
主程序:int main()
{
HSE_SetSysClk(RCC_PLLMul_9);                //HSE配置,sysclk
MCO_GPIO_Config();                                //MCO端口配置 PA0
RCC_MCOConfig(RCC_MCO_SYSCLK);        //MCO_信号选择SYSCLK
LED_GPIO_Config();
//HSI_SetSysClk(RCC_PLLMul_16);
while(1)       
        {
                LED_G(OFF);
                Delay(0x22222);
                LED_G(ON);
                Delay(0x22222);
        }       
}       
MCO_GPIO配置程序:
void MCO_GPIO_Config(void)
{       
GPIO_InitTypeDef GPIO_InitStruct;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);       
       
GPIO_InitStruct.GPIO_Pin     =     GPIO_Pin_8;
GPIO_InitStruct.GPIO_Mode    =     GPIO_Mode_AF_PP;
GPIO_InitStruct.GPIO_Speed   =     GPIO_Speed_50MHz;       
GPIO_Init(GPIOA, &GPIO_InitStruct);
}
void HSE_SetSysClk(uint32_t RCC_PLLMul_x)
{       
        ErrorStatus HSEStatus;
        RCC_DeInit();                                        //RCC Default Init.       
       
        RCC_HSEConfig(RCC_HSE_ON);                                        //使能HSE
        HSEStatus = RCC_WaitForHSEStartUp();
       
        if(HSEStatus == SUCCESS )
        {
                FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);                //使能预取指
                FLASH_SetLatency(FLASH_Latency_2);                                                        //设置2个等待周期
               
                RCC_HCLKConfig(RCC_SYSCLK_Div1);//设置3个分频因子
                RCC_PCLK1Config(RCC_HCLK_Div2);
                RCC_PCLK2Config(RCC_HCLK_Div1);
               
                RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_x);                        //PLLCLKHSE * RCC_PLLMul_x
                RCC_PLLCmd(ENABLE);                                                                                                //使能PLL
                while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);                                //等待PLL稳定
                               
                RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);                                                //选择系统时钟为PLLCLK
                while(RCC_GetSYSCLKSource()!= 0x08);                                                        //等待PLL切换为系统时钟。
        }
        else
        {
                //启动失败
        }
       
}

MCO输出测试.png




回复

使用道具 举报

发表于 2019-4-10 08:53:01 | 显示全部楼层
不太了解这个,还是直接用板子好
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-12 14:47 , Processed in 0.035311 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表