娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年09月01日(星期日)

正在發生

2018年09月01日 | STM32使用外部16MHZ晶振總結

發布者:亞瑟摩根 來源: eefocus關鍵字:STM32  16MHZ  晶振 手機看文章 掃描二維碼
隨時隨地手機看文章

做小封裝產品設計的朋友或許知道3225-4PIN的晶振,為何8MHZ晶振批量價格要到2元一片,而16MHZ晶振只需要0.4元甚至更少。究其原因是因為3225封裝的晶振目前全球最低頻率一般為8MHZ,而國內8MHZ達不到精度指標,所以市場上的8MHZ晶振一般為進口晶振,因此成本被壟斷。

    

圖1  3225封裝晶振

   STM32單片機學習者一開始用的晶振一般是2PIN的8MHZ晶振,一旦正真做產品研發的時候,使用到3225的8MHZ晶振的話,成本是個不小的挑戰。筆者現針對這個問題,提出使用16MHZ晶振代替的方法。

圖2  STM32時鐘樹狀圖

   由上圖可以看出,如果想兼容8MHZ晶振,必須在時鐘倍頻前2分頻。程序設計如下,在system_stm32f10x.c文件下修改系統時鐘配置,配置為72MHZ。


圖3  系統時鐘配置

   修改SetSysClockTo72(void)文件如下:

static void SetSysClockTo72(void)
{
  __IO uint32_t StartUpCounter = 0, HSEStatus =0;

    
    
  RCC->CR |= ((uint32_t)RCC_CR_HSEON);


  do
  {
    HSEStatus =RCC->CR & RCC_CR_HSERDY;
   StartUpCounter++; 
  } while((HSEStatus == 0) &&(StartUpCounter != HSE_STARTUP_TIMEOUT));
  if ((RCC->CR & RCC_CR_HSERDY) !=RESET)
  {
    HSEStatus =(uint32_t)0x01;
  }
  else
  {
    HSEStatus =(uint32_t)0x00;
  } 
  if (HSEStatus == (uint32_t)0x01)
  {
   
   FLASH->ACR |= FLASH_ACR_PRFTBE;
   
   FLASH->ACR &=(uint32_t)((uint32_t)~FLASH_ACR_LATENCY);
   FLASH->ACR |=(uint32_t)FLASH_ACR_LATENCY_2;   

   
    RCC->CFGR|= (uint32_t)RCC_CFGR_HPRE_DIV1;
     
   
    RCC->CFGR|= (uint32_t)RCC_CFGR_PPRE2_DIV1;
   
   
    RCC->CFGR|= (uint32_t)RCC_CFGR_PPRE1_DIV2;
#ifdef STM32F10X_CL
   
   
   
       
   RCC->CFGR2 &= (uint32_t)~(RCC_CFGR2_PREDIV2 |RCC_CFGR2_PLL2MUL |
                             RCC_CFGR2_PREDIV1 | RCC_CFGR2_PREDIV1SRC);
   RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV5 |RCC_CFGR2_PLL2MUL8 |
                            RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV5);

   
    RCC->CR|= RCC_CR_PLL2ON;
   
   while((RCC->CR & RCC_CR_PLL2RDY) == 0)
    {
    }
   
       RCC->CFGR &= (uint32_t)~(RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLSRC| RCC_CFGR_PLLMULL);
    RCC->CFGR|= (uint32_t)(RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLSRC_PREDIV1|
                           RCC_CFGR_PLLMULL9);
#else   
   
    //16MHZ2分頻如下改動,添加RCC_CFGR_PLLXTPRE_HSE_Div2
    RCC->CFGR&= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE|
                                       RCC_CFGR_PLLXTPRE_HSE_Div2|RCC_CFGR_PLLMULL));
    RCC->CFGR|= (uint32_t)(RCC_CFGR_PLLXTPRE_HSE_Div2 | RCC_CFGR_PLLSRC_HSE |RCC_CFGR_PLLMULL9);
#endif
   
    RCC->CR|= RCC_CR_PLLON;
   
   while((RCC->CR & RCC_CR_PLLRDY) == 0)
    {
    }
   
   
    RCC->CFGR&= (uint32_t)((uint32_t)~(RCC_CFGR_SW));
    RCC->CFGR|=(uint32_t)RCC_CFGR_SW_PLL;   
   
    while((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) !=(uint32_t)0x08)
    {
    }
  }
  else
  {
  }
}

   到此,很多讀者認為設計已經完畢,這個系統也如愿地倍頻至72MHZ了,但忽略了一個小細節。我們需要修改stm32f10x.h文件里面的外部時鐘宏定義,有一些外設的時鐘是直接使用外部時鐘配置的,比如串口等。
          
#if !defined  HSE_VALUE
#ifdefSTM32F10X_CL  
  #defineHSE_VALUE   ((uint32_t)25000000)
#else
  #defineHSE_VALUE   ((uint32_t)16000000)
#endif
#endif

   至此,程序修改完畢。整個系統圍繞8MHZ倍頻至72MHZ歡暢的運行


關鍵字:STM32  16MHZ  晶振 引用地址:STM32使用外部16MHZ晶振總結

上一篇:STM32_RTC晶振不起振的原因及解決方法
下一篇:stm32f105 spi 移植到stm32f103上

推薦閱讀

今天在調試STM32系統時鐘設置時遇到一個問題:TIM2定時1Ms,TIM2中斷服務函數time++,time=100時LED狀態改變。程序運行后發現LED不是按照0.1S的時間閃爍,閃爍的很慢。查找程序發現在系統時鐘初始化時,RCC_HSEConfig(RCC_HSE_Bypass); 語句配置不對,此語句解釋為HSE晶振被外部時鐘旁路。指將芯片內部的用于外部晶體起振和功率驅動等的部分電路和XTAL_OU...
作為世界上最大的工業機器人生產國和消費國,去年我國工業機器人生產量占全球比重的38%,中國市場的產銷不振,引來業界對全球工業機器人產業的憂心。工業機器人銷量下滑,是不是因為工業生產對機器人的需求下降? 事實上,依照工業機器人現有的技術水平,其應用領域并非覆蓋全部工業生產,主要集中于電器、器材制造、汽車制造、金屬加工等領域,而這些...
近日,國家知識產權局公開了一份TCL申請的屏下攝像頭手機外觀設計專利,據說該專利為今年3月份提交申請,于近期獲準通過。不過目前尚未有任何關于TCL屏下攝像頭手機的報道,不確定TCL將會在什么時候推出屏下攝像頭手機。  從TCL所提交的專利設計圖中能發現,手機背面頂部的位置有一塊凸起的模塊,厚度比機身其他位置明顯厚了很多,懷疑該區域...
1-write總線:和IIC總線類似,是一種通信方式,主機對1-Wire總線的基本操作分為復位、讀和寫三種。總線上接上拉電阻。對時序的要求比較嚴格ROM指令、操作協議:晶振:CCH:控制信道(CCH)是用于傳送信令信息和短的分組數據的信道。占空比:占空比是指一個脈沖循環內,通電(高電平)時間相對于總時間所占的比例。PWM:脈沖寬度調試技術,通過對一系列脈沖...

史海拾趣

問答坊 | AI 解惑

ka3525

開關電源脈寬調制集成電路 …

查看全部問答∨

幫我做個畢業設計啊

本帖最后由 paulhyde 于 2014-9-15 09:43 編輯 大家幫幫忙啊,,,我要寫畢業設計啊,,不知道怎么寫啊,,,,加我QQ350325692 大概的文章我有了,,,請大家幫我再加點,,,寫個完整的設計啊,,,重謝啊,,,,,加我QQ啊 350325 ...…

查看全部問答∨

求助

FM發射機測試有一個FM Deviation Sen,指的是什麼,如何測試?Pilot Deviation又是指什麼,如何測試?…

查看全部問答∨

可編程模擬器件原理與開發

摘要:介紹了可編程模擬器件的基本原理和開發流程。列舉了主流器件系列,并說明其核心技術。展望了可編程模擬器件的發展前景。 關鍵詞:可編程模擬器件 模擬可編程技術 可編程模擬器件(Programmable Analog Device)是近年來嶄露頭角的一類新型 ...…

查看全部問答∨

在XP運行正常的網頁為什么放在ARM上顯示是亂碼

RT,我做的網也用GB2312編碼,在XP上運行正常的,但是放在ARM板子上運行的時候就是亂碼,每次都要手工調整網頁編碼為GB2312后才能正常顯示,哪里有問題呢?  我試過了用UTF8編碼,還是一樣的問題...  誰知道嗎? …

查看全部問答∨

WinCE 觸摸屏驅動 安裝問題

廠家提供的觸摸屏驅動是cec格式文件,我把這個文件添加到Catalog中,然后 Add to OSDesign添加到工程。(發現添加cec文件后,會在OSDEsign View中增加一個分支為Projects),之后修改注冊表信息,如下   [HKEY_LOCAL_MACHINE\\Drivers\\B ...…

查看全部問答∨

尋USB項目合作

本人是在校大學生,目前正在研究USB,遇到了一些問題 簡單描述如下: 功能——實現單片機與PC的通訊,采用USBD12接口芯片,電路已設計出,但與PC相連接一點反映都沒有 希望有相關經驗的高手給與幫助,價格面議,希望能快點搞定 詳情請與我聯系 ...…

查看全部問答∨

WINCE 下 mgtt_o.dll 錯誤

請高手指點:     我在編譯 wince 內核并且少到 板子上,     系統啟動有時候正常有時候中文全部沒有了,     有時候是部分中文沒有了,     比如:     本來 在桌面點右鍵, 會出現  ...…

查看全部問答∨

請問在EEPROM寫數據的問題

本人的燒錄器是拓普TOP2005,如果我想用燒錄器直接寫數據到24C02存儲芯片,那么我在燒錄的HEX文檔的第00H地址內容改為01H,這樣就可以完成00H地址的數據修改嗎…

查看全部問答∨

51日歷電路圖

請那位大俠51日歷電路圖…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 汝南县| 吉木萨尔县| 大渡口区| 喀喇沁旗| 邵阳市| 巴南区| 修武县| 湖南省| 兴义市| 宁蒗| 杭锦后旗| 南通市| 德化县| 屯昌县| 任丘市| 阳谷县| 册亨县| 岑溪市| 涡阳县| 基隆市| 黔东| 眉山市| 永德县| 石渠县| 达孜县| 石阡县| 东兴市| 南阳市| 宿州市| 西丰县| 佛学| 岐山县| 汕尾市| 高安市| 黑山县| 苍山县| 开封县| 山西省| 都兰县| 沿河| 简阳市|