<tfoot id="ygvxt"><menuitem id="ygvxt"></menuitem></tfoot>
    • <kbd id="ygvxt"></kbd>
      <th id="ygvxt"><progress id="ygvxt"></progress></th>

      您好,歡迎訪問上海意泓電子科技有限責任公司網(wǎng)站!
      4新聞資訊
      您的位置: 首頁 ->  新聞資訊 -> 單片機

      ?STM32系統(tǒng)時鐘設(shè)置,采用外部有源晶振相關(guān)配置問題

      文章出處:單片機 責任編輯:上海意泓電子科技有限責任公司 發(fā)表時間:
      2020
      11-10

      調(diào)試STM32系統(tǒng)時鐘設(shè)置時遇到一個問題:TIM2定時1Ms,TIM2中斷服務(wù)函數(shù)time++,time=100時LED狀態(tài)改變。程序運行后發(fā)現(xiàn)LED不是按照0.1S的時間閃爍,閃爍的很慢。

      查找程序發(fā)現(xiàn)在系統(tǒng)時鐘初始化時,RCC_HSEConfig(RCC_HSE_Bypass); 語句配置不對,此語句解釋為HSE晶振被外部時鐘旁路。指將芯片內(nèi)部的用于外部晶體起振和功率驅(qū)動等的部分電路和XTAL_OUT引腳斷開,這時使用的外部時鐘是有源時鐘或者其他STM32提供的CCO輸出等時鐘信號,直接單線從XTAL_IN輸入,這樣即使外部有晶體也震蕩不起來了。

      因為之前用的是有源晶振,接法如下圖1:HSE配置如下:RCC_HSEConfig(RCC_HSE_Bypass); 

      圖1



      無源晶振,接法如下圖1:HSE配置如下:RCC_HSEConfig(RCC_HSE_ON); 



      附:1 晶體與晶振的區(qū)別:

      	晶振是一個統(tǒng)稱,晶振分為有源晶振和無源晶振。有源晶振又叫鐘振,無源晶振又叫晶體。區(qū)別兩者最簡單的就是,是否需要對它單獨供電,需要供電電壓的,就是有源晶振,反之,無源晶振。還有一個外觀上比較容易判斷的就是,如果只有兩個腳的,那一定是無源的晶振,但是如果是三個腳,四個腳的,可能是無源,也可能是有源,需要從上面提到的判斷。
      附:2 STM32系統(tǒng)時鐘配置函數(shù)								    
      void Sys_Clk_Init(void)              //系統(tǒng)時間設(shè)置72M,使能DMA1,GPIOA,AFIO,ADC1
      {	ErrorStatus HSEStartUpStatus;                            	RCC_DeInit(); 		                                      	//  RCC_HSEConfig(RCC_HSE_Bypass); 				                  	RCC_HSEConfig(RCC_HSE_ON); 																  HSEStartUpStatus = RCC_WaitForHSEStartUp();               
      	if(HSEStartUpStatus == SUCCESS) 	{ 		FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); 
      		FLASH_SetLatency(FLASH_Latency_2);                    		RCC_HCLKConfig(RCC_SYSCLK_Div1);                      		RCC_PCLK2Config(RCC_HCLK_Div1);                    		RCC_PCLK1Config(RCC_HCLK_Div2);                     
      		RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); 
      		RCC_ADCCLKConfig(RCC_PCLK2_Div6);			RCC_PLLCmd(ENABLE);                                   				while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)  
              {
              }		RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);           
              while(RCC_GetSYSCLKSource() != 0x08)                 
              {
              }	RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);	RCC_APB2PeriphClockCmd(  RCC_APB2Periph_ADC1 " RCC_APB2Periph_GPIOA , ENABLE);		RCC_APB2PeriphClockCmd( RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOB , ENABLE);					} 				else	{	    while(1);   //	}
      }


      上海意泓電子科技有限責任公司 版權(quán)所有 未經(jīng)授權(quán)禁止復(fù)制或鏡像

      CopyRight 2020-2025 www.hljhgw.com All rights reserved   滬ICP備2021005866號

      国产强伦姧在线观看,…中文天堂在线一区,亚洲欧洲精品污网站在线观看,在线视频综合站
      <tfoot id="ygvxt"><menuitem id="ygvxt"></menuitem></tfoot>
        • <kbd id="ygvxt"></kbd>
          <th id="ygvxt"><progress id="ygvxt"></progress></th>