历史上的今天
返回首页

历史上的今天

今天是:2024年12月26日(星期四)

正在发生

2018年12月26日 | stm32 系统时钟配置

2018-12-26 来源:eefocus

HSE:72M,HSE:64M,HSI:64M


代码实现:


// 时钟设置

//#define MAINCLOCK_72M     // HSE,外部时钟

//#define MAINCLOCK_64M_EXTERN     // HSE

#define MAINCLOCK_64M_INTERAL      // HSI

 

/** System Clock Configuration

*/

void SystemClock_Config(void)

{

    RCC_OSCInitTypeDef RCC_OscInitStruct;

    RCC_ClkInitTypeDef RCC_ClkInitStruct;

 

    /**Initializes the CPU, AHB and APB busses clocks 

*/

#ifdef MAINCLOCK_72M

RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;

RCC_OscInitStruct.HSEState = RCC_HSE_ON;

RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;

//RCC_OscInitStruct.HSIState = RCC_HSI_ON;

RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;

RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;

RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;   // 72M

#else

#ifdef MAINCLOCK_64M_EXTERN

RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;

RCC_OscInitStruct.HSEState = RCC_HSE_ON;

RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;

RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;

RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;

RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL8;  // 64M

#else

// MAINCLOCK_64M_INTERAL

RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;

RCC_OscInitStruct.HSICalibrationValue = 16;

RCC_OscInitStruct.HSIState = RCC_HSI_ON;

RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;

RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI_DIV2;

RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL16;  // 64M

#endif

#endif

 

 

if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)

{

Error_Handler();

 

/**Initializes the CPU, AHB and APB busses clocks 

*/

RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK

|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;

RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;

RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; // 72M/64M 

#ifdef MAINCLOCK_72M

RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; // 72 / 8 = 9M

RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; // 72 / 4 = 18M

#else

RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8;// 64 / 8 = 8M

RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4;// 64 / 4 = 16M

#endif

 

if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)

{

Error_Handler();

}

 

/**Configure the Systick interrupt time 

*/

HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);

 

/**Configure the Systick 

*/

HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);

 

/* SysTick_IRQn interrupt configuration */

HAL_NVIC_SetPriority(SysTick_IRQn, SysTick_IRQn_PP, 0);

}

 


推荐阅读

史海拾趣

Elytone Electronics Co Ltd公司的发展小趣事

近年来,Elytone公司积极响应国家环保政策,致力于推动绿色发展。他们采用环保材料和清洁能源进行生产,减少了对环境的污染。同时,公司还加强了对废弃物的回收和处理工作,实现了资源的循环利用。这些举措不仅提升了公司的社会形象,也为行业的可持续发展做出了积极贡献。

遨格芯微(AGM)公司的发展小趣事

随着智能手机和IoT市场的快速发展,AGM敏锐地捕捉到这一机遇。公司不失时机地推出了一款专用于智能手机和IoT的FPGA芯片,并通过了三星严格的供应商测试认证。这款芯片成为三星Galaxy手机里除Lattice之外的唯一备选FPGA器件,实现了国内FPGA公司出口零的突破,具有特殊的战略意义。这一成功不仅展示了AGM在可编程逻辑技术领域的实力,也为公司进一步拓展智能手机和IoT市场打下了坚实基础。

FLEX LTD公司的发展小趣事

除了在智能手机和IoT市场取得突破外,AGM还深耕工业和消费类市场。公司自主研发并量产的可编程逻辑SoC产品系列广泛应用于工业和消费类市场,满足了客户对高容积率、低成本、高品质的市场需求。通过不断的技术创新和产品优化,AGM在工业和消费类市场逐渐形成了自己的竞争优势,并赢得了越来越多客户的认可和信赖。

Calex Mfg Co Inc公司的发展小趣事

品质是Calex Mfg. Co., Inc.的生命线。公司始终坚持以品质为核心,从原材料采购到生产制造,再到产品出厂,每一个环节都严格把控。这种对品质的执着追求,使得公司的产品赢得了客户的信赖和好评。同时,公司还注重品牌建设,通过广告宣传和参展等方式,不断提升品牌知名度和影响力。

E-T-A Circuit Breakers公司的发展小趣事

1961年,E-T-A公司推出了其第一款电子式保险丝,这一创新引领了电气保护设备的新时代。这款电子式保险丝采用了可编程技术,可以根据电路需求进行精确的保护和控制。它的出现大大提高了电气系统的安全性和可靠性,并为E-T-A公司在电路保护领域奠定了坚实的基础。

HiRel Connectors Inc公司的发展小趣事
对于安装在户外的摄像头,应安装防雷击保护装置以减少因雷击而导致的损坏。

问答坊 | AI 解惑

电子设计大赛题目征集

本帖最后由 paulhyde 于 2014-9-15 09:31 编辑 各位大虾能帮着想一些电子设计大赛的题目吗?主要针对单片机控制类的,不甚感激,  …

查看全部问答>

wince下如何编译armv6的程序

使用ce6.0,平台cpu是armv6指令集的。 vs2005的工程设置中只有armv4和armv5,怎么编armv6的应用? 或者vs2008可以编armv6吗…

查看全部问答>

WinCE ping 的问题

定制了一个CE6.0的映像,从设备可以ping 主机,但是从主机不能够ping到设备, 如果换一个ce5.0,则没有问题,请问是定制时哪方面的问题?…

查看全部问答>

Operational amplifier gain stability Part 1 General system analysis

本帖最后由 dontium 于 2015-1-23 13:38 编辑  Operational amplifier gain stability Part 1 General system analysis …

查看全部问答>

STR9几时能出个有I2S口的啊?

STR9 几时能出个有 I2S 口的啊? 96MIPS的高速, 没有I2S, 好多场合不能用. …

查看全部问答>

如何查找STM32和STM8的官方文档

1)进入ST中文主页:http://www.stmicroelectronics.com.cn/ 2)在“产品”栏目点击“微控制器”,就可以看到下面的界面: 下载 (55.5 KB) 2010-2-4 16:55 ----------------------------------------------- 还可以 ...…

查看全部问答>

南京某公司招聘

招聘信息: 职位描述: -动力锂电充放电及保护电路设计; -小信号处理电子线路设计; 岗位要求: -本科及以上学历,电子相关专业,2年以上相关工作经验; -熟悉单片机开发及单片机C语言编程; -熟悉原理图、PCB设计工具软件; ...…

查看全部问答>

有关三极管饱和区间的疑问

1、深度饱和是不是三极管介于截止区和饱和区的临界点? 2、深度饱和Uce是不是一定为0.3V?还是不同的管子有不同的值。 3、当Ube大于开启电压,Uce小于0.3V(或深度饱和电压)时,三极管处于什么样的工作状态?…

查看全部问答>

STM32 USB OTG 中 管脚VBUS 管脚的作用

STM32 USB OTG 中 管脚VBUS 的作用。 VBUS 是输入管脚还是输出管脚?它能直接接5v?   还有在USB管脚中,两根差分信号线各自的电平是多少?…

查看全部问答>

诺基亚计划出售芬兰总部 估价3亿欧元

本帖最后由 jameswangsynnex 于 2015-3-3 19:59 编辑 北京时间10月4日消息,据国外媒体报道,诺基亚今天宣布,作为剥离非核心资产计划的一部分,公司正在考虑出售位于芬兰埃斯波的总部。 诺基亚计划出售芬兰总部 估价3亿欧元(图片来自互联网) ...…

查看全部问答>