STM32F407使用江科大OLED程序

注:本文章修改了F407的系统时钟,默认情况下使用外部输入HSE25MHz 主频168MHz,本文章修改为了和F103一样的频率(因为楼主试了好多方法说在OLED里加延时函数的没有成功,所以修改了主频)

这样也可以用(如果各位看官大人有不降主频的方法,下方评论区留言告知)

ps:大佬别嘲讽我

时钟配置如下

HAL库

标准库

// 时钟配置(需根据 HSE 频率调整)
void SystemClock_Config(void) {
    RCC_DeInit();  // 复位 RCC 配置
    RCC_HSEConfig(RCC_HSE_ON);  // 启用外部高速晶体 (HSE)
    while (RCC_GetFlagStatus(RCC_FLAG_HSERDY) == RESET);  // 等待 HSE 就绪
    RCC_PLLConfig(RCC_PLLSource_HSE, 8, 144, 2, 4); //72MHz
    // RCC_PLLConfig(RCC_PLLSource_HSE, 4, 168, 2, 4);//168MHz 
    RCC_PLLCmd(ENABLE);
    while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);  // 等待 PLL 就绪

    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);  // 系统时钟源 = PLL
    while (RCC_GetSYSCLKSource() != RCC_CFGR_SWS_PLL);  // 等待切换完成

    RCC_HCLKConfig(RCC_SYSCLK_Div1);  // AHB 时钟 = SYSCLK
    RCC_PCLK1Config(RCC_HCLK_Div2);   // APB1 时钟 = HCLK/2 (36MHz) 主频72MHz
    RCC_PCLK2Config(RCC_HCLK_Div2);   // APB2 时钟 = HCLK/2 (72MHz) 主频72MHz
    // RCC_PCLK1Config(RCC_HCLK_Div4);//APB1 时钟 = HCLK / 4 (42MHz) 主频168MHz
    // RCC_PCLK2Config(RCC_HCLK_Div2);   // APB2 时钟 = HCLK/2 (84MHz) 主频168MHz
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值