由于stm32的库默认是外部晶振8M的情况下实现的,所以配置串口波特率的时候也是按8M,包括主频。
如果采用外部晶振12M,配置时钟为72MHZ 。
1)PLL倍频这样改:
8M:
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);//8*9=72
12M:
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6);//12*6=72
库函数:void RCC_PLLConfig(uint32_t RCC_PLLSource, uint32_t RCC_PLLMul)
例:RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_6);
2)stm32f10x.h中修改:
8M:
#define HSE_Value ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */
12M:
#define HSE_Value ((uint32_t)12000000) /*!< Value of the External oscillator in Hz */
接下来说一下内部时钟,内部时钟是由RC振荡产生的,精度不高。用内部时钟产生的功耗更小,还可以节约印制板的空间,程序配置如下:
void RCC_Configuration(void)
{
/* RCC system reset(for debug purpose) */
RCC_DeInit();
RCC_HSICmd(ENABLE); //打开内部高速时钟
//等待HSI准备好
while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); //开启FLASH预取指功能
//FLASH时序控制
//推荐值:SYSCLK = 0~24MHz Latency=0
// SYSCLK = 24~48MHz Latency=1
// SYSCLK = 48~72MHz Latency=2
FLASH_SetLatency(FLASH_Latency_2);
RCC_HCLKConfig(RCC_SYSCLK_Div1); //设置HCLK(AHB时钟)=SYSCLK
RCC_PCLK2Config(RCC_HCLK_Div1); //PCLK2(APB2) = HCLK
RCC_PCLK1Config(RCC_HCLK_Div1); //PCLK1(APB1) = HCLK
//PLL设置 SYSCLK/2 * 12 = 4*12 = 48MHz
RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_12);
//启动PLL
RCC_PLLCmd(ENABLE);//如果PLL被用于系统时钟,不能被DISABLE
//等待PLL稳定
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET){;}
//设置系统时钟SYSCLK = PLL输出
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
//等待PLL成功用作于系统时钟的时钟源,并等待稳定
// 0x00:HSI作为系统时钟
// 0x04:HSE作为系统时钟
// 0x08:PLL作为系统时钟
while(RCC_GetSYSCLKSource() != 0x08);
}
还有如果修给了HSE_Value ,但是还有问题,则库文件使用的是LIB文件,而不是C文件。现在看来是stm32f10x_rcc.c转LIB时的问题。它里面把HSE_VALUE编译成死的了,不跟头文件走。
所以,如果库文件使用的是LIB文件,那么改晶振频率后就需要把stm32f10x_rcc.c加到工程里一起编译。
上一篇:STM32 USART出现乱码
下一篇:关于STM32外接4—16MHz晶振主频处理方法
推荐阅读
史海拾趣
随着北京人民电器产品的不断优化和升级,其生产的GM系列直流断路器在发电、输变电系统中得到了广泛应用。众多电力企业和项目都选择了北京人民电器的产品,这不仅是对其产品质量和技术水平的认可,也进一步推动了公司在电力行业的深入发展。
在快速发展的过程中,FINISAR也面临着知识产权方面的挑战。公司曾多次与其他企业发生专利纠纷,并通过法律手段维护自身的合法权益。例如,在与易飞扬的专利战中,FINISAR通过诉讼和专利复审等方式,成功维护了自己的专利权益。这一系列专利战不仅展现了FINISAR在知识产权保护方面的决心和能力,也进一步提升了公司在行业内的知名度和影响力。
随着公司的发展,DAVE Embedded Systems不断投入研发力量,致力于技术创新和产品创新。他们基于最新技术(如多核ARM Cortex、PowerPC和X86)设计了一系列高端嵌入式系统模块,这些产品不仅满足了客户对性能的需求,还提供了更好的可靠性和可扩展性。此外,公司还积极开发基于Android和Windows平台的嵌入式系统模块,以满足不同客户的需求。
随着全球对环保和可持续发展的重视,DAVE Embedded Systems也积极响应这一趋势。他们在生产过程中采用了环保材料和工艺,减少了对环境的影响。同时,公司还致力于开发环保型嵌入式系统模块,以帮助客户实现绿色生产和可持续发展。这些举措不仅体现了公司的社会责任感,也为公司的长远发展奠定了基础。
DAVE Embedded Systems深知品质对于企业发展的重要性。他们建立了严格的质量管理体系,确保从原材料采购到产品制造的每一个环节都符合高标准的质量要求。同时,公司还提供了优质的售后服务,为客户提供了全方位的技术支持和解决方案。这些举措不仅赢得了客户的信任和支持,还为公司树立了良好的口碑。
在品质和品牌建设的基础上,德尔创开始积极拓展市场。公司首先在国内市场进行了深入布局,通过优化销售网络和提供优质的售后服务,逐渐赢得了客户的信任和支持。同时,德尔创也积极寻求国际合作机会,与多家国际知名企业建立了长期稳定的合作关系。这些合作不仅为公司带来了更多的订单和市场份额,还促进了德尔创在技术和管理方面的进一步提升。
(1)直接转换ADC 直接转换ADC也称“闪电”式(Flash),这种结构的ADC速度极快,所有位的转换同时完成, 但要求高密度集成数量巨大的比较器,如图4所示,一个N位分辨率的转换器需要2N-1个比较器。参考电压由一个电阻网络设定,彼此相 ...… 查看全部问答∨ |
|
windows mobile 6 蓝牙问题(能关闭打开 找不到其他蓝牙设备) 大家好!帮我分析下,我现在该从哪方面去看 (2450,串口蓝牙) 现在我的蓝牙,可以打开和关闭,但是就是找不到其他的蓝牙设备,而且其他设备也能找到我的蓝牙设备,当连接的时候,提示连接不上,我板上有的时候有反应,提示有连接,但是操作后 提 ...… 查看全部问答∨ |
|
如何解决wince汉字显示不圆润的问题,感觉带刺 回答正确可以提高分数,谢谢!!!!! 如题, 字体显示不美观,不知如何解决,请高手帮忙 wince .net .4.2 开发环境 evc4.2 目前用的字体文件是 微软雅黑 谢谢… 查看全部问答∨ |
|
每个搞嵌入式的人都可选一条路,条条大路通罗马。要么走ARM+WinCE,要么走ARM+LINUX,要么走ARM+VXWORKS。下面由卓跃教育为大家介绍一下关于嵌入式开发的一些题外话。 至今能写驱动程序的人目前是非常紧缺的(驱动程序也可归于嵌入式范畴) ...… 查看全部问答∨ |