金牌会员
 
- 积分
- 1046
- 金钱
- 1046
- 注册时间
- 2017-5-19
- 在线时间
- 335 小时
|
发表于 2018-12-26 13:31:52
|
显示全部楼层
肯定是有干扰,首先要找到干扰信号在哪里干扰的,用示波器看复位信号和晶振的波形,看PCB布局。
可以先试试用内部8M RC振荡器是否有问题
或者外部高速晶振先两分频再两倍频,还是8MHz,不知道是不是因为锁相环的抗干扰能力比较强
[mw_shl_code=c,true]/*RCC config*/
void RCC_Configuration(void)
{
RCC_DeInit();
RCC_HSEConfig(RCC_HSE_ON);
while(SUCCESS != RCC_WaitForHSEStartUp()){}
/*设置FLASH存储器延时时钟周期数*/
FLASH_SetLatency(FLASH_Latency_2); //FLASH_Latency_2 2延时周期
/*选择FLASH预取指缓存的模式*/
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); // 预取指缓存使能
/*设置PLL时钟源及倍频系数*/
/* Fcpu = (PLL_src * PLL_MUL) = (8 Mhz / 2) * (2) = 8Mhz */
RCC_PLLConfig(RCC_PLLSource_HSE_Div2, RCC_PLLMul_2);
/* Enable PLL */
RCC_PLLCmd(ENABLE);
/*检查指定的RCC标志位(PLL准备好标志)设置与否*/
while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) {}
/* Set system clock dividers */
RCC_HCLKConfig(RCC_SYSCLK_Div1);
RCC_PCLK2Config(RCC_HCLK_Div1);
RCC_PCLK1Config(RCC_HCLK_Div2);
RCC_ADCCLKConfig(RCC_PCLK2_Div6);
/* Embedded Flash Configuration */
FLASH_SetLatency(FLASH_Latency_2);
FLASH_HalfCycleAccessCmd(FLASH_HalfCycleAccess_Disable);
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
/*SYSCLK configuration*/
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
}[/mw_shl_code] |
|