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

歷史上的今天

今天是:2025年05月19日(星期一)

2018年05月19日 | STM32單片機(5) 定時器中斷實驗

發布者:TranquilGaze 來源: eefocus關鍵字:STM32  單片機  定時器中斷 手機看文章 掃描二維碼
隨時隨地手機看文章
  1. /******************************************************************************* 

  2. *    

  3. * 軟件功能:  定時器中斷實驗 

  4. *  

  5. *******************************************************************************/  

  6. #include "stm32f10x.h"  

  7. #include "delay.h"  

  8.   

  9.   

  10. void RCC_Configuration(void);  

  11. void GPIO_Configuration(void);  

  12. void NVIC_Configuration(void);  

  13. void TIM3_Configuration(u16 arr,u16 psc);  

  14.   

  15. /************************************************* 

  16. 函數: int main(void) 

  17. 功能: main主函數 

  18. 參數: 無 

  19. 返回: 無 

  20. **************************************************/  

  21. int main(void)  

  22. {  

  23.   RCC_Configuration();  

  24.   GPIO_Configuration();  

  25.   NVIC_Configuration();  

  26.   TIM3_Configuration(4999,7199);//10Khz的計數頻率,計數到5000為500ms    

  27.   //delay_init(72);  

  28.   GPIO_ResetBits(GPIOB,GPIO_Pin_0);   

  29.   while(1);     

  30. }  

  31.   

  32.   

  33. /************************************************* 

  34. 函數: void RCC_Configuration(void) 

  35. 功能: 復位和時鐘控制 配置 

  36. 參數: 無 

  37. 返回: 無 

  38. **************************************************/  

  39. void RCC_Configuration(void)  

  40. {  

  41.   ErrorStatus HSEStartUpStatus;                    //定義外部高速晶體啟動狀態枚舉變量  

  42.   RCC_DeInit();                                    //復位RCC外部設備寄存器到默認值  

  43.   RCC_HSEConfig(RCC_HSE_ON);                       //打開外部高速晶振  

  44.   HSEStartUpStatus = RCC_WaitForHSEStartUp();      //等待外部高速時鐘準備好  

  45.   if(HSEStartUpStatus == SUCCESS)                  //外部高速時鐘已經準別好  

  46.   {  

  47.     FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); //開啟FLASH預讀緩沖功能,加速FLASH的讀取。所有程序中必須的用法.位置:RCC初始化子函數里面,時鐘起振之后  

  48.     FLASH_SetLatency(FLASH_Latency_2);                    //flash操作的延時  

  49.           

  50.     RCC_HCLKConfig(RCC_SYSCLK_Div1);               //配置AHB(HCLK)時鐘等于==SYSCLK  

  51.     RCC_PCLK2Config(RCC_HCLK_Div1);                //配置APB2(PCLK2)鐘==AHB時鐘  

  52.     RCC_PCLK1Config(RCC_HCLK_Div2);                //配置APB1(PCLK1)鐘==AHB1/2時鐘  

  53.            

  54.     RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);  //配置PLL時鐘 == 外部高速晶體時鐘 * 9 = 72MHz  

  55.     RCC_PLLCmd(ENABLE);                                   //使能PLL時鐘  

  56.      

  57.     while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)    //等待PLL時鐘就緒  

  58.     {  

  59.     }  

  60.     RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);            //配置系統時鐘 = PLL時鐘  

  61.     while(RCC_GetSYSCLKSource() != 0x08)                  //檢查PLL時鐘是否作為系統時鐘  

  62.     {  

  63.     }  

  64.   }  

  65.     

  66.   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);  //允許 GPIOB、AFIO時鐘  

  67.   RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //時鐘使能  

  68.   

  69. }  

  70.   

  71. /************************************************* 

  72. 函數: void GPIO_Configuration(void) 

  73. 功能: GPIO配置 

  74. 參數: 無 

  75. 返回: 無 

  76. **************************************************/  

  77. void GPIO_Configuration(void)  

  78. {  

  79.   GPIO_InitTypeDef GPIO_InitStructure;        //定義GPIO初始化結構體  

  80.   

  81.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;   

  82.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;   

  83.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;   

  84.   GPIO_Init(GPIOB, &GPIO_InitStructure);       //PB用于輸出控制LED燈  

  85.   

  86. }  

  87.   

  88.   

  89. void NVIC_Configuration(void)    //中斷分組和優先級配置    詳見《STM32的函數說明(中文).pdf》P165  

  90. {  

  91.     NVIC_InitTypeDef NVIC_InitStructure;  

  92.     NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;  //TIM3中斷  

  93.     NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;  //先占優先級0級  

  94.     NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;  //從優先級3級  

  95.     NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能  

  96.     NVIC_Init(&NVIC_InitStructure);  //初始化NVIC寄存器  

  97. }  

  98.   

  99. void TIM3_Configuration(u16 arr,u16 psc)      //TIM3定時器配置     

  100. {  

  101.     TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;  

  102.     TIM_TimeBaseStructure.TIM_Period = arr; //設置在下一個更新事件裝入活動的自動重裝載寄存器周期的值     

  103.     TIM_TimeBaseStructure.TIM_Prescaler =psc; //設置用來作為TIMx時鐘頻率除數的預分頻值  

  104.     TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //設置時鐘分割:TDTS = Tck_tim  

  105.     TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上計數模式  

  106.     TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //根據指定的參數初始化TIMx的時間基數單位  

  107.     /*((1+7199[TIM_Prescaler] )/72M)*(1+4999[TIM_Period] )=500,000us=500ms */   

  108.   

  109.     TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE ); //使能指定的TIM3中斷,允許更新中斷  

  110.     TIM_Cmd(TIM3, ENABLE);  //使能TIMx  

  111. }  

  112.   

  113. //定時器3中斷服務程序  

  114. void TIM3_IRQHandler(void)   //TIM3中斷  

  115. {  

  116.     if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)  //檢查TIM3更新中斷發生與否  

  117.         {  

  118.         TIM_ClearITPendingBit(TIM3, TIM_IT_Update  );  //清除TIMx更新中斷標志   

  119.         if(!GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0))    GPIO_SetBits(GPIOB,GPIO_Pin_0);   

  120.         else   GPIO_ResetBits(GPIOB,GPIO_Pin_0);   

  121.     }  


關鍵字:STM32  單片機  定時器中斷 引用地址:STM32單片機(5) 定時器中斷實驗

上一篇:STM32單片機(6) PWM輸出實驗
下一篇:STM32單片機(3) 串口中斷通信

推薦閱讀

由深圳市智慧家庭協會和思銳達傳媒共同主辦的第四屆“中國智慧家庭博覽會(2018 China Smart Home Expo,簡稱CSHE2018)”暨深圳(國際)集成電路技術創新與應用展(2018 China IC Expo,簡稱CICE2018)”隆重開展。本次展會將持續三天,同期各種精彩論壇不斷上演。展會首日,“2018智慧家庭高峰論壇”吸引了眾多觀眾的到來,一大早現場就已經座無虛席。...
機器人成為下一波科技的爆點 據臺灣鉅亨網5月7日報道,機器人不再只出現在科幻電影中,而是現在進行式,如今,掃地機器人走進一般家庭,工廠組裝改成機械手臂,乃至于運送包裹、機器人手術、無人出租車機器人已滲透至日常,吸引全球重量級企業競相投入,爭逐這股創新商機。 機器人產業能夠大發展,主要拜賜于技術的發展。近幾年來,、運算能力和機器等...
(文章來源:智能制造網) ? ? ?? 隨著國內疫情形勢的好轉,全國各地正逐步推進企業復工復產。不過,在制造業領域,企業復工的情況有很大差異,有些企業復工復產速度較快、效果也較好,而有些企業卻困難重重。之所以出現這樣的情況,在于部分企業具備良好的自動化、智能化基礎,受到用工問題的影響比較小。 有企業負責人表示,幸好自己的公司這...
羅克韋爾自動化攜手柯馬,助力制造商簡化機器人集成合作共贏,為工業客戶提供更簡單、更智能和更高效的設計、配置以及機器人應用美國密爾沃基市、意大利都靈,2021年4月21日——全球最大的工業自動化、信息化和數字化轉型企業之一羅克韋爾自動化公司(NYSE: ROK)與全球領先的工業自動化和機器人制造商柯馬今天宣布,雙方將攜手為全球企業提供重要工具,...

史海拾趣

問答坊 | AI 解惑

低頻數字式相位測量儀

本帖最后由 paulhyde 于 2014-9-15 04:24 編輯 如題,和大家分享  …

查看全部問答∨

齊納二極管原理特性

齊納二極管原理特性…

查看全部問答∨

按下16個矩陣鍵盤依次在數碼管上顯示1-16的平方。

按下16個矩陣鍵盤依次在數碼管上顯示1-16的平方。如按下第一個顯示1,第二個顯示4... 我寫了第3行的檢測,就是說:按鍵按下的話 ,會顯示:16   25  36   49: 但是我在實驗板上運行的時候,高位的數字只會閃一下 ...…

查看全部問答∨

大蝦們,能推薦幾個不錯的嵌入式論壇嗎?

如題~ 因為我要做畢業設計了,我的畢業設計是ARM9+uClinux,…

查看全部問答∨

Hp2490如何打開無線網卡,連接指定SSID,最好用C#完成,謝謝

Hp2490如何打開無線網卡,連接指定SSID,最好用C#完成,例如,我們辦公室有N個無線網絡,我想通過程序控制連接其中指定一個網絡。…

查看全部問答∨

嵌入式主板介紹

嵌入式主板一般理解為嵌入在設備里面做控制、數據處理使用的CPU板,也就是設備的“大腦”。嵌入式到設備里面,當然就會對主板的體積以及功耗(嵌入式主板的散熱問題)有比較嚴格的要求。所以一般來講嵌入式主板會具備 尺寸小、高集成度、低功耗等特 ...…

查看全部問答∨

IAR 3.41使用問題

前一陣重新裝機,從網上下了個IAR 3.41 然后有個小工具生成序列號,安裝過程沒問題,可是在程序編譯時出現下面的提示: Fatal Error[Cp001]: Copy protection check, No valid license found for this product [20] 這是什么問題呀?…

查看全部問答∨

基于MSP430F2013的超低功耗運動檢測

基于MSP430F2013的超低功耗運動檢測方案…

查看全部問答∨

試試傳說中的低功耗

以前開發MCU都是外置電源供電,幾乎沒有怎么考慮過功耗問題,借此機會試試在電池供電的環境下軟硬件設計。…

查看全部問答∨

點陣出了點問題,圖像有

今天看了下點陣的教程,自己跑去搞了下 ,結果弄是弄出來,可就是每次圖像移動前都會紅一團  這是電路圖還有代碼,大大幫忙看看#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit dula=P2^6;sbit wela=P2^7;sbi ...…

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

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

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

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 田阳县| 东城区| 从江县| 宁南县| 瑞安市| 华容县| 水富县| 卢龙县| 鱼台县| 子长县| 融水| 阳新县| 安多县| 奎屯市| 芮城县| 喀喇沁旗| 盐城市| 武宣县| 盐源县| 监利县| 慈溪市| 基隆市| 明水县| 杨浦区| 英山县| 莱西市| 珲春市| 扶余县| 太谷县| 河间市| 武强县| 夹江县| 济源市| 姜堰市| 杭锦旗| 乳源| 简阳市| 高青县| 皮山县| 南江县| 九台市|