7179|3

66

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

STM32F107VC外部晶振8M设置问题 [复制链接]

void RCC_Configuration(void)
{
// SystemInit();
ErrorStatus HSEStartUpStatus = SUCCESS;
RCC_DeInit();                //RCC system reset(for debug purpose)
RCC_HSEConfig(RCC_HSE_ON);             //Enable HSE
HSEStartUpStatus = RCC_WaitForHSEStartUp();         //Wait till HSE is ready
if (HSEStartUpStatus == SUCCESS)
{
  FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);     //Enable Prefetch Buffer
  FLASH_SetLatency(FLASH_Latency_2);          //Flash 2 wait state
  RCC_HCLKConfig(RCC_SYSCLK_Div1);          //HCLK = SYSCLK = 8M
  RCC_PCLK2Config(RCC_HCLK_Div1);           //PCLK2(3-5M) = HCLK/1 = 4M
  RCC_PCLK1Config(RCC_HCLK_Div2);           //PCLK1(3-12M) = HCLK/2 = 8M
  RCC_ADCCLKConfig(RCC_PCLK2_Div2);          //ADCCLK = PCLK2/2 = 2M
     RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_8);
  RCC_PLLCmd(ENABLE);              //Enable PLL (18-72M)
  while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);     //Wait till PLL is ready
  RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);        //Select PLL as system clock source
  while(RCC_GetSYSCLKSource() != 0x08);         //Wait till PLL is used as system clock source
}
else{ while (1); }
////////////////////////////////////////////////////////////////////////////////
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);
RCC_APB1PeriphClockCmd( RCC_APB1Periph_USART2 |RCC_APB1Periph_USART3 |
       RCC_APB1Periph_USART3 |RCC_APB1Periph_UART4 |
       RCC_APB1Periph_UART5 |RCC_APB1Periph_TIM2  , ENABLE);
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA |RCC_APB2Periph_GPIOB |
       RCC_APB2Periph_GPIOC |RCC_APB2Periph_GPIOD |
       RCC_APB2Periph_GPIOE |RCC_APB2Periph_GPIOF |
       RCC_APB2Periph_USART1 |RCC_APB2Periph_ADC1 |
       RCC_APB2Periph_TIM1  |RCC_APB2Periph_AFIO ,ENABLE);
}
使用的是3.3的库 预定义的是。。。。。_CL
改成使用外部晶振8M老是不对,上面的程序是内部8M定时器和波特率多对,
麻烦改成使用外部晶振8M主频72M 波特率设置正确
此帖出自stm32/stm8论坛

最新回复

                                 楼主借用库的时候应好好看看代码,那些例题ST都是针对自己的开发板的代码。楼主要把RCC配置好好看一下,很简单的。  详情 回复 发表于 2011-2-23 16:37
点赞 关注
 

回复
举报

60

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
在stm32f10x.h中有个如下的宏定义
        #define HSE_VALUE                 ((uint32_t)8000000)
你看看你更改这个设置没有
此帖出自stm32/stm8论坛
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
对,2楼说的有道理,如果你不想更改,就自已定义一个吧
例如:   
#define  HSE_8M_VALUE     ((uint32_t)8000000)
此帖出自stm32/stm8论坛
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

4
 
                                 楼主借用库的时候应好好看看代码,那些例题ST都是针对自己的开发板的代码。楼主要把RCC配置好好看一下,很简单的。
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表