历史上的今天
返回首页

历史上的今天

今天是:2025年02月24日(星期一)

正在发生

2020年02月24日 | stm32_HSI

2020-02-24 来源:eefocus

stm32启动时使用的是外部8M晶振,在system_stm32f10x.c文件中有定义,且使用的函数为void SystemInit (void)

使用外部晶振HSE时的代码如下

void SystemInit (void)

{

//  /* Reset the RCC clock configuration to the default reset state(for debug purpose) */

//  /* Set HSION bit */

//  RCC->CR |= (uint32_t)0x00000001;



//  /* Reset SW, HPRE, PPRE1, PPRE2, ADCPRE and MCO bits */

//#ifndef STM32F10X_CL

//  RCC->CFGR &= (uint32_t)0xF8FF0000;

//#else

//  RCC->CFGR &= (uint32_t)0xF0FF0000;

//#endif /* STM32F10X_CL */   

//  

//  /* Reset HSEON, CSSON and PLLON bits */

//  RCC->CR &= (uint32_t)0xFEF6FFFF;



//  /* Reset HSEBYP bit */

//  RCC->CR &= (uint32_t)0xFFFBFFFF;



//  /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE/OTGFSPRE bits */

//  RCC->CFGR &= (uint32_t)0xFF80FFFF;



//#ifdef STM32F10X_CL

//  /* Reset PLL2ON and PLL3ON bits */

//  RCC->CR &= (uint32_t)0xEBFFFFFF;



//  /* Disable all interrupts and clear pending bits  */

//  RCC->CIR = 0x00FF0000;



//  /* Reset CFGR2 register */

//  RCC->CFGR2 = 0x00000000;

//#elif defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL)

//  /* Disable all interrupts and clear pending bits  */

//  RCC->CIR = 0x009F0000;



//  /* Reset CFGR2 register */

//  RCC->CFGR2 = 0x00000000;      

//#else

//  /* Disable all interrupts and clear pending bits  */

//  RCC->CIR = 0x009F0000;

//#endif /* STM32F10X_CL */

//    

//#if defined (STM32F10X_HD) || (defined STM32F10X_XL) || (defined STM32F10X_HD_VL)

//  #ifdef DATA_IN_ExtSRAM

//    SystemInit_ExtMemCtl(); 

//  #endif /* DATA_IN_ExtSRAM */

//#endif 



//  /* Configure the System clock frequency, HCLK, PCLK2 and PCLK1 prescalers */

//  /* Configure the Flash Latency cycles and enable prefetch buffer */

//  SetSysClock();



//#ifdef VECT_TAB_SRAM

//  SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */

//#else

//  SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */

//#endif 

}







现在改为使用内部晶振

void SystemInit (void)

{

RCC->CR |= (uint32_t)0x00000001; 



/*选择HSI为PLL的时钟源HSI必须2分频给PLL*/

RCC->CFGR |= (uint32_t)RCC_CFGR_PLLSRC_HSI_Div2; 

 

/*PLLCLK=8/2*13=52MHz   设置倍频得到时钟源PLL的频率*/

RCC->CFGR |= (uint32_t)RCC_CFGR_PLLMULL4;          //四倍频



/* PLL不分频输出  */

RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1;

 

/* 使能 PLL时钟 */

RCC->CR |= RCC_CR_PLLON;



/* 等待PLL时钟就绪*/

while((RCC->CR & RCC_CR_PLLRDY) == 0);



/* 选择PLL为系统时钟的时钟源 */

RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW));

RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL;    


/* 等到PLL成为系统时钟的时钟源*/

while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08);

}

倍频备注:倍频可以从6M到45M,通过修改RCC_CFGR_PLLMULL4,此处与数据手册说法有一点不符合,但是通过示波器实际测出是可以的。计算公式system_clk=6M/2*倍频数

至于为何是6M,怀疑可能是内部RC晶振有点问题或者配置问题待解决


使用内部RC晶振时,delay函数不能用,计时不准确

推荐阅读

史海拾趣

Gaomi Xinghe Electronics公司的发展小趣事

背景:随着中国经济的快速发展和消费者对电子产品需求的不断增加,Galaxy公司敏锐地捕捉到这一市场机遇。

行动:在2003年初,Galaxy以缜密的市场调研为基础,全力部署进入大陆市场。同年6月,公司推出了以“影驰”命名的Geforce家族系列产品,迅速吸引了众多游戏发烧友和电子产品爱好者的关注。随后,公司又在多个城市设立了销售和服务网点,为消费者提供更加便捷的产品体验和服务。

成果:经过多年的深耕细作,Galaxy在大陆市场取得了显著成绩,品牌影响力不断增强,市场份额稳步提升。

AIM公司的发展小趣事

随着公司业务的不断发展和产品线的丰富,AIM开始积极拓展市场,寻求更广阔的发展空间。公司积极参与国际电子展会和交流活动,与全球各地的客户和合作伙伴建立了紧密的合作关系。通过与国际知名企业的合作,AIM的产品和技术得以在全球范围内推广和应用,进一步提升了公司的知名度和影响力。

Fair Rite公司的发展小趣事

随着电子行业的快速发展,Fair Rite迅速捕捉到新的市场机遇。公司不断推出创新产品,以满足医疗、照明、汽车、通讯、航空、国防、智能能源和工业市场等领域的需求。Fair Rite通过技术创新和品质保证,赢得了客户的信赖和市场的认可。

FREESCALE (NXP)公司的发展小趣事

随着电子行业的快速发展,Fair Rite迅速捕捉到新的市场机遇。公司不断推出创新产品,以满足医疗、照明、汽车、通讯、航空、国防、智能能源和工业市场等领域的需求。Fair Rite通过技术创新和品质保证,赢得了客户的信赖和市场的认可。

启攀微(CHIPHOM)公司的发展小趣事

随着市场竞争的加剧和技术的不断进步,启攀微电子(CHIPHOM)意识到只有不断创新才能保持领先地位。公司加大了在新技术、新产品方面的研发投入,积极探索物联网、人工智能等新兴领域的应用。同时,公司还注重人才培养和团队建设,吸引了一批高素质的技术人才和管理人才加入公司。在创新驱动的引领下,启攀微电子(CHIPHOM)不断推出具有竞争力的新产品和解决方案,赢得了客户的广泛认可。

AXSEM公司的发展小趣事

随着市场竞争的加剧和技术的不断进步,启攀微电子(CHIPHOM)意识到只有不断创新才能保持领先地位。公司加大了在新技术、新产品方面的研发投入,积极探索物联网、人工智能等新兴领域的应用。同时,公司还注重人才培养和团队建设,吸引了一批高素质的技术人才和管理人才加入公司。在创新驱动的引领下,启攀微电子(CHIPHOM)不断推出具有竞争力的新产品和解决方案,赢得了客户的广泛认可。

问答坊 | AI 解惑

TI芯片选型指南

相信很多工程师都在用TI的产品 本人在此分享一下官网公布的选型指南 希望对面临选型困惑的工程师有帮助 http://focus.ti.com.cn/cn/analog/docs/selectionguides.tsp…

查看全部问答>

【藏书阁】数字信号处理课件

第00章 数字信号处理 绪论 27页 0.5M PDF格式.pdf 第01章 离散时间信号与离散时间系统基础 71页 1.7M PDF格式 .pdf 第02章 Z变换及离散系统分析 43页 1.1M PDF格式.pdf 第03章 离散傅立叶变换 65页 1.4M PDF格式.pdf 第04章 附:关于图象压缩 4 ...…

查看全部问答>

如何在WM5.0上安装sqlite?

如题:如何在WM5.0上安装sqlite?    wce上又该怎么装?…

查看全部问答>

printk奇怪问题,请高手指点!

小弟我在调试网卡驱动的时候写了下面语句:             static   long   long   count   =   0;           stati ...…

查看全部问答>

电路板打样超级便宜

最近发现一个做电路板便宜的地方  www.sz-jlc.com/o   5*5cm以内50元 10*10以内100元 到现在为止最便宜的了 分享一下哈哈…

查看全部问答>

ST10技术资料

有关ST10的技术资料介绍,请参考:http://mcu.st.com/mcu/inchtml.php?fdir=pages&fnam=st10http://mcu.st.com/mcu/modules.php?name=mcu&file=familiesdocs&FAM=17ST10的中文手册书籍(类似ST7一样)不久也会面世了!!…

查看全部问答>

CC3000 wifi模块有木有

soso姐,帮我问一下TI办事处,CC3000什么时候搞一个活动哈,我看了TI 官网的宣传片了,我想要学习一下wifi的实时性能,我看他的DEMO 的是实时性还可以呀…

查看全部问答>

纽扣电池请教

关于纽扣电池,使用万用表测试其两端电阻,发现只有几欧姆的样子,这个是正常的吗?此外,想请教一下,如果我将纽扣电池串接在5V的电压源上放电,当串联电压降低后可以认为其电流都出自纽扣电池内吗?…

查看全部问答>