日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

歷史上的今天

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

正在發(fā)生

2020年09月22日 | stm32時(shí)鐘設(shè)置函數(shù)

發(fā)布者:huijiazi5210 來(lái)源: eefocus關(guān)鍵字:stm32  時(shí)鐘  設(shè)置函數(shù) 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

這里涉及到一個(gè)很重要的寄存器,時(shí)鐘配置寄存器:RCC_CFGR


 1 #if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL)

 2 /* #define SYSCLK_FREQ_HSE    HSE_VALUE */

 3  #define SYSCLK_FREQ_24MHz  24000000

 4 #else

 5 /* #define SYSCLK_FREQ_HSE    HSE_VALUE */

 6 /* #define SYSCLK_FREQ_24MHz  24000000 */ 

 7 /* #define SYSCLK_FREQ_36MHz  36000000 */

 8 /* #define SYSCLK_FREQ_48MHz  48000000 */

 9 /* #define SYSCLK_FREQ_56MHz  56000000 */

10 #define SYSCLK_FREQ_72MHz  72000000

11 #endif


 1 /**

 2   * @brief  Setup the microcontroller system

 3   *         Initialize the Embedded Flash Interface, the PLL and update the 

 4   *         SystemCoreClock variable.

 5   * @note   This function should be used only after reset.

 6   * @param  None

 7   * @retval None

 8   */

 9 void SystemInit (void)

10 {

11   /* Reset the RCC clock configuration to the default reset state(for debug purpose) */

12   /* Set HSION bit */

13   RCC->CR |= (uint32_t)0x00000001;

14 

15   /* Reset SW, HPRE, PPRE1, PPRE2, ADCPRE and MCO bits */

16 #ifndef STM32F10X_CL

17   RCC->CFGR &= (uint32_t)0xF8FF0000;

18 #else

19   RCC->CFGR &= (uint32_t)0xF0FF0000;

20 #endif /* STM32F10X_CL */   

21   

22   /* Reset HSEON, CSSON and PLLON bits */

23   RCC->CR &= (uint32_t)0xFEF6FFFF;

24 

25   /* Reset HSEBYP bit */

26   RCC->CR &= (uint32_t)0xFFFBFFFF;

27 

28   /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE/OTGFSPRE bits */

29   RCC->CFGR &= (uint32_t)0xFF80FFFF;

30 

31 #ifdef STM32F10X_CL

32   /* Reset PLL2ON and PLL3ON bits */

33   RCC->CR &= (uint32_t)0xEBFFFFFF;

34 

35   /* Disable all interrupts and clear pending bits  */

36   RCC->CIR = 0x00FF0000;

37 

38   /* Reset CFGR2 register */

39   RCC->CFGR2 = 0x00000000;

40 #elif defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL)

41   /* Disable all interrupts and clear pending bits  */

42   RCC->CIR = 0x009F0000;

43 

44   /* Reset CFGR2 register */

45   RCC->CFGR2 = 0x00000000;      

46 #else

47   /* Disable all interrupts and clear pending bits  */

48   RCC->CIR = 0x009F0000;

49 #endif /* STM32F10X_CL */

50     

51 #if defined (STM32F10X_HD) || (defined STM32F10X_XL) || (defined STM32F10X_HD_VL)

52   #ifdef DATA_IN_ExtSRAM

53     SystemInit_ExtMemCtl(); 

54   #endif /* DATA_IN_ExtSRAM */

55 #endif 

56 

57   /* Configure the System clock frequency, HCLK, PCLK2 and PCLK1 prescalers */

58   /* Configure the Flash Latency cycles and enable prefetch buffer */

59   SetSysClock();

60 

61 #ifdef VECT_TAB_SRAM

62   SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */

63 #else

64   SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */

65 #endif 

66 }


/**

  * @brief  Configures the System clock frequency, HCLK, PCLK2 and PCLK1 prescalers.

  * @param  None

  * @retval None

  */

static void SetSysClock(void)

{

#ifdef SYSCLK_FREQ_HSE

  SetSysClockToHSE();

#elif defined SYSCLK_FREQ_24MHz

  SetSysClockTo24();

#elif defined SYSCLK_FREQ_36MHz

  SetSysClockTo36();

#elif defined SYSCLK_FREQ_48MHz

  SetSysClockTo48();

#elif defined SYSCLK_FREQ_56MHz

  SetSysClockTo56();  

#elif defined SYSCLK_FREQ_72MHz

  SetSysClockTo72();

#endif


 設(shè)置RCC_CFGR寄存器的位參數(shù),使其與外部晶振匹配得到72M系統(tǒng)時(shí)鐘。


  1 /**

  2   * @brief  Sets System clock frequency to 72MHz and configure HCLK, PCLK2 

  3   *         and PCLK1 prescalers. 

  4   * @note   This function should be used only after reset.

  5   * @param  None

  6   * @retval None

  7   */

  8 static void SetSysClockTo72(void)

  9 {

 10   __IO uint32_t StartUpCounter = 0, HSEStatus = 0;

 11   

 12   /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/    

 13   /* Enable HSE */    

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

 15  

 16   /* Wait till HSE is ready and if Time out is reached exit */

 17   do

 18   {

 19     HSEStatus = RCC->CR & RCC_CR_HSERDY;

 20     StartUpCounter++;  

 21   } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));

 22 

 23   if ((RCC->CR & RCC_CR_HSERDY) != RESET)

 24   {

 25     HSEStatus = (uint32_t)0x01;

 26   }

 27   else

 28   {

 29     HSEStatus = (uint32_t)0x00;

 30   }  

 31 

 32   if (HSEStatus == (uint32_t)0x01)

 33   {

 34     /* Enable Prefetch Buffer */

 35     FLASH->ACR |= FLASH_ACR_PRFTBE;

 36 

 37     /* Flash 2 wait state */

 38     FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY);

 39     FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_2;    

 40 

 41  

 42     /* HCLK = SYSCLK */

 43     RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1;//AHB一分頻

 44       

 45     /* PCLK2 = HCLK */

 46     RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1;

 47     

 48     /* PCLK1 = HCLK */

 49     RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2;

 50 

 51 #ifdef STM32F10X_CL

 52     /* Configure PLLs ------------------------------------------------------*/

 53     /* PLL2 configuration: PLL2CLK = (HSE / 5) * 8 = 40 MHz */

 54     /* PREDIV1 configuration: PREDIV1CLK = PLL2 / 5 = 8 MHz */

 55         

 56     RCC->CFGR2 &= (uint32_t)~(RCC_CFGR2_PREDIV2 | RCC_CFGR2_PLL2MUL |

 57                               RCC_CFGR2_PREDIV1 | RCC_CFGR2_PREDIV1SRC);

 58     RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV5 | RCC_CFGR2_PLL2MUL8 |

 59                              RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV5);

 60   

 61     /* Enable PLL2 */

 62     RCC->CR |= RCC_CR_PLL2ON;

 63     /* Wait till PLL2 is ready */

 64     while((RCC->CR & RCC_CR_PLL2RDY) == 0)

 65     {

 66     }

 67     

 68    

 69     /* PLL configuration: PLLCLK = PREDIV1 * 9 = 72 MHz */ 

 70     RCC->CFGR &= (uint32_t)~(RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLSRC | RCC_CFGR_PLLMULL);

 71     RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLSRC_PREDIV1 | 

 72                             RCC_CFGR_PLLMULL9); 

 73 #else    

 74     /*  PLL configuration: PLLCLK = HSE * 9 = 72 MHz */

 75     RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |

 76                                         RCC_CFGR_PLLMULL));

 77     RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);

 78 #endif /* STM32F10X_CL */

 79 

 80     /* Enable PLL */

 81     RCC->CR |= RCC_CR_PLLON;

 82 

 83     /* Wait till PLL is ready */

 84     while((RCC->CR & RCC_CR_PLLRDY) == 0)

 85     {

 86     }

 87     

 88     /* Select PLL as system clock source */

 89     RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW));

 90     RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL;    

 91 

 92     /* Wait till PLL is used as system clock source */

 93     while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08)

 94     {

 95     }

 96   }

 97   else

 98   { /* If HSE fails to start-up, the application will have wrong clock 

 99          configuration. User can add here some code to deal with this error */

100   }

101 }


關(guān)鍵字:stm32  時(shí)鐘  設(shè)置函數(shù) 引用地址:stm32時(shí)鐘設(shè)置函數(shù)

上一篇:STM32——時(shí)鐘系統(tǒng)
下一篇:STM32中的位帶(bit-band)操作

推薦閱讀

坐標(biāo)變換理論:坐標(biāo)變換理論可以降低馬達(dá)方程的復(fù)雜性,利用坐標(biāo)變換把定子及轉(zhuǎn)子變量變換到一個(gè)旋轉(zhuǎn)坐標(biāo)系中,該坐標(biāo)系的轉(zhuǎn)速為角速度ω。假設(shè)fax, fbx, fcx 為三相瞬時(shí)變量,位于相移120度的a,b,c坐標(biāo)上,fqx, fdx, f0x 為其變換變量,位于正交坐標(biāo)d,q上:則,變換方程為:3個(gè)變換方程用于矢量控制:Clarke: ω=0, θ(0)=0 -> θ=0;Park: ...
iPhone 11系列即將發(fā)售,有關(guān)這款新機(jī)的細(xì)節(jié)正在逐步被揭秘。  9月18日消息,據(jù)外媒報(bào)道,美版iPhone 11、iPhone 11 Pro和iPhone 11 Pro Max均搭載了英特爾LTE調(diào)制解調(diào)器?! ⊥饷街赋?,英特爾和高通版本的iPhone測(cè)試菜單選項(xiàng)有所區(qū)別,他們查看了從iPhone 6到iPhone XR所有型號(hào),發(fā)現(xiàn)iPhone 11、iPhone 11 Pro和iPhone 11 Pro...
華米將于9月22日也就是明天舉辦秋季新品發(fā)布會(huì),在此之前官方曝光了此次新品發(fā)布會(huì)登場(chǎng)產(chǎn)品的特性。華米科技創(chuàng)始人、CEO黃汪發(fā)微博爆料稱此次發(fā)布的新品為Amazfit GTR 2 和 GTS 2,并稱“他們的用料很足”。黃汪透露,Amazfit GTR 2 和 GTS 2 的3D玻璃鏡面非常飽滿通透,有些朋友不免擔(dān)心戴久了是否會(huì)被磨損,這也是很多友商產(chǎn)品確實(shí)存在的問(wèn)題...
什么藥物可以擊敗癌癥?用什么樣的劑量可以獲得理想療效,而不會(huì)產(chǎn)生副作用?超過(guò)什么極限值之后,有效的藥物會(huì)產(chǎn)生毒性?在今天,這些問(wèn)題的解答都離不開(kāi)采用細(xì)胞培養(yǎng)技術(shù)的批量檢測(cè)。它們無(wú)疑是醫(yī)療研究的重要方法。 使用CYRIS ?FLOX自動(dòng)檢測(cè)系統(tǒng),試驗(yàn)室的工作變得更加簡(jiǎn)單。在整個(gè)試驗(yàn)過(guò)程中,F(xiàn)AULHABER電機(jī)確保培養(yǎng)液獲得足夠的營(yíng)養(yǎng)和藥物供給,并...

史海拾趣

問(wèn)答坊 | AI 解惑

FPGA和DSP的學(xué)習(xí)

   今年要畢業(yè)了,參加了考研??夹膬x的大學(xué)是沒(méi)有機(jī)會(huì)了。但有機(jī)會(huì)去深圳大學(xué)學(xué)習(xí)(可能性還是有的,因?yàn)樯暇€還是可以的吧)。如果去深圳大學(xué)的話,應(yīng)該學(xué)習(xí)光學(xué)成像,這個(gè)方向和醫(yī)療電子很有關(guān)系。     我看了醫(yī)療電子的發(fā) ...…

查看全部問(wèn)答∨

Wavecom貓?jiān)赪indows自帶的超級(jí)終端可正常發(fā)送短信,可使用串口編程方式發(fā)送短信時(shí)失???為啥??

Wavecom貓?jiān)赪indows自帶的超級(jí)終端可正常發(fā)送短信,可使用串口編程方式發(fā)送短信時(shí)失?。繛樯???我試驗(yàn)了好幾天了,每次用Windows自帶的超級(jí)終端就可以,一旦換到用Vc++串口編程方式就失敗。用PortMan監(jiān)視數(shù)據(jù)也沒(méi)找到失敗的原因?有做過(guò)碰到過(guò)釘子 ...…

查看全部問(wèn)答∨

高頻率SDRAM能否降頻使用?

以前電路設(shè)計(jì)時(shí)用了一塊EMST廠家的SDRAM,工作頻率是133MHz,現(xiàn)在由于停產(chǎn)所以不得以只能換器件,但找到最高工作頻率是200MHz的替代品,不知道能否直接降頻使用?原先板上的時(shí)鐘是133的,請(qǐng)大家?guī)兔μ醾€(gè)建議,謝謝!…

查看全部問(wèn)答∨

LabVIEW關(guān)于定時(shí)的研究

1.如果想實(shí)現(xiàn)定周期While循環(huán)時(shí),需要用Wait(ms).vi而不是Wait Until Next ms Multiple.vi2.Wait(ms).vi在與代碼并行時(shí)可以保證整個(gè)運(yùn)行時(shí)間為設(shè)定值,這個(gè)功能一般都會(huì)以為是Wait Until Next ms Multiple.vi的特性3.Wait Until Next ms Multipl ...…

查看全部問(wèn)答∨

FPGA設(shè)計(jì)中的異步信號(hào)處理

        近來(lái)一直在學(xué)習(xí)在fpga如何進(jìn)行異步信號(hào)的處理,有一些心得,開(kāi)個(gè)貼,把自己的一些體會(huì)貼出來(lái),跟大家分享,也期待可以得到高手的指點(diǎn)。       目錄如下:  &n ...…

查看全部問(wèn)答∨

基礎(chǔ)的LED燈和數(shù)碼管同時(shí)點(diǎn)亮的問(wèn)題

如題,我在練習(xí)的時(shí)候遇到了一個(gè)可能比較基本的問(wèn)題:不通過(guò)定時(shí)器,只寫(xiě)一個(gè)delay函數(shù)來(lái)實(shí)現(xiàn)LED燈的閃爍和數(shù)碼管的點(diǎn)亮。 我自己用這種方式寫(xiě)的(8個(gè)LED閃爍,點(diǎn)亮2個(gè)數(shù)碼管),無(wú)法實(shí)現(xiàn)上述功能。LED能閃爍,但是兩位數(shù)碼管中的第一位不能穩(wěn)定顯 ...…

查看全部問(wèn)答∨

分立電阻器檢定測(cè)試系統(tǒng)的配置

分立電阻器在最后的封裝狀態(tài)要進(jìn)行單點(diǎn)通過(guò)/失敗測(cè)試,這對(duì)確保產(chǎn)品符合制造商性能指標(biāo)至關(guān)重要,而且可以在出貨前識(shí)別劣質(zhì)電阻器以及輕微不良的電阻器。通常要對(duì)電阻器進(jìn)行兩項(xiàng)測(cè)試:電阻器電壓系數(shù)測(cè)試以及電阻器公差帶測(cè)試。為了確保產(chǎn)品質(zhì)量 ...…

查看全部問(wèn)答∨

經(jīng)典國(guó)外照明設(shè)計(jì)叢書(shū)《照明設(shè)計(jì)入門(mén)》

replyreload += \',\' + 1432027;不需要或者已經(jīng)有的朋友可以略過(guò)。文件格式:PDF      本書(shū)是具有照明實(shí)踐經(jīng)驗(yàn)的三位作者同心協(xié)力、共同編著而成的。主要以想要學(xué)習(xí)照明設(shè)計(jì)的人,已經(jīng)在從事照明設(shè)計(jì)的人,想要把照明設(shè)計(jì) ...…

查看全部問(wèn)答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開(kāi)發(fā)圈

 
機(jī)器人開(kāi)發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved