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

歷史上的今天

今天是:2025年06月27日(星期五)

正在發生

2020年06月27日 | STM32CubeMX系列教程3:基本定時器

發布者:Heavenly999 來源: eefocus關鍵字:STM32CubeMX系列  基本定時器  GPIO 手機看文章 掃描二維碼
隨時隨地手機看文章

這一章我們在前一章GPIO的工程修改。復制GPIO的工程,修改文件夾名。點擊打開STM32cubeMX的工程文件重新配置。開啟定時器TIM3,選擇內部時鐘。


定時器就相當于單片機的鬧鐘,下面我們以基本定時器為例簡單介紹一下定時器。

從上圖我們可以看到,基本定時器主要由下面三個寄存器組成。

  • 計數器寄存器 (TIMx_CNT)

  • 預分頻器寄存器 (TIMx_PSC)

  • 自動重載寄存器 (TIMx_ARR)


計數器寄存器 (TIMx_CNT)存儲的是當前的計數值。預分頻器 (TIMx_PSC)為多少個SK_PSC脈沖計數一次,如圖192 預分頻器的值為1(預分頻寄存器默認為0,為不分頻),則為兩個脈沖計數一次。即為二分頻。如果要10000分頻,則預分頻器的值為1000-1。


自動重裝寄存器 (TIMx_ARR)存儲的是計數器的溢出值,例如圖194中計數器遞增計數到36計數器溢出,觸發一次事件。而實際上為37個脈沖觸發一次溢出事件(從0開始計數)。

要確定定時的時間我們必須先確定CK_PSC的頻率,TIM3配置中選擇內部時鐘作為時鐘源,查看數據手冊或者查看代碼可以知道TIM3是掛接到APB1時鐘線上。

內部時鐘設置為不分頻(CKD),則CK_PSC的時鐘頻率等于APB1的時鐘頻率108MHz,即108000 000Hz。若要定時時間為1s,則即可設置10800分頻(預分頻器寄存器 (TIMx_PSC)的值為10800-1),定時器的時鐘CK_CNT的頻率為10000Hz.則自動重載寄存器 (TIMx_ARR)設置為10000-1即定時為1s.TRGO為觸發輸出,可以觸發內部ADC/DAC,這里我們沒有用到這個功能,參數為默認設置。

定時器有如下三種計數模式

遞增計數模式:計數器從 0 計數到自動重載值,然后重新從 0 開始計數并生成計數器上溢事件。

遞減計數模式:計數器從自動重載值開始遞減到 0,然后重新從自動重載值開始計數并生成計數器下溢事件。

中心對齊模式:計數器從 0 開始計數到自動重載值 – 1 ,生成計數器上溢事件;然后從自動重載值開始向下計數到 1 并生成計數器下溢事件。之后從0 開始重新計數。


在NVIC Settings框勾選開啟定時器中斷。優先級為默認?;蛘咴贜VIC配置中使能TIM3中斷。


生成報告,以及生成代碼,編譯程序。

打開main.c文件。把main()函數里while循環上一章的代碼刪掉,while循環里面為空。在main.c文件后面USER CODE BEGIN 4 和 USER CODE END 4 中間添加中斷回調函數。定時器中斷處理函數中翻轉一次LED1~LED4的電平。

01/* USER CODE BEGIN 4 */
02/**
03  * @brief  Period elapsed callback in non blocking mode
04  * @param  htim: TIM handle
05  * @retval None
06  */
07void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
08{
09    if (htim->Instance == htim3.Instance)
10    {
11        /* Toggle LED */
12        BSP_LED_Toggle(LED1);
13        BSP_LED_Toggle(LED2);
14        BSP_LED_Toggle(LED3);
15        BSP_LED_Toggle(LED4);
16    }
17}
18/* USER CODE END 4 */


在main.c文件中while(1)循環前面添加如果代碼啟動基本定時器中斷模式計數。


1/* USER CODE BEGIN 2 */
2
3  /*##-1- Start the TIM Base generation in interrupt mode ####################*/
4  HAL_TIM_Base_Start_IT(&htim3);
5
6/* USER CODE END 2 */


重新編譯程序,編譯通過后下載到Open746-C開發板。按復位可以看到LED1~LED4間隔1s閃爍一次。


現在我們再次分析一下程序。工程中配置TIM3定時器選擇內部時鐘不分頻作為時鐘源,掛載到APB1時鐘總線上(108MHz),設置為遞增計數模式,預分頻器設置為10800-1,即10800分頻,最后定時器的頻率為10000HZ。一個脈沖的時間為1/10000s。則若要定時1s,則自動重載寄存器設置為10000-1(如要定時0.2s,則自動重裝寄存器設置為0.2/(1/10000)-1.即2000-1)。


在main()函數中調用HAL_TIM_Base_Start_IT(&htim3)開啟定時器,定時器從0開始計數,當計數到10000-1,即9999時,產出上溢出事件,計數器又從0開始繼續計數。由于我們開啟了定時器中斷,所以發生上溢出事件時會觸發定時器中斷。程序會轉跳到中斷服務函數中運行。我們在中斷服務函數中翻轉LED的電平。下次定時器再次溢出觸發中斷繼續翻轉LED的電平。所以我們會看到LED不斷閃爍。

關鍵字:STM32CubeMX系列  基本定時器  GPIO 引用地址:STM32CubeMX系列教程3:基本定時器

上一篇:STM32CubeMX系列教程4:PWM
下一篇:STM32CubeMX系列教程2:外部中斷(EXIT)

推薦閱讀

隨著智慧餐飲概念的不斷提及,很多餐飲企業都在積極利用智能化改革,以解決其“三高一低”的痛點。上海金時代順風大酒店(以下簡稱“順風酒店”)為打造服務特色、提升智能化、降低運營成本、優化人力,近日大膽創新,聘用了兩名武藝高強的傳菜機器人為客人提供智慧化服務。據順豐酒店大堂經理介紹,這兩名特殊的機器人傳菜員,名叫花生,來自上海擎朗智能...
2002年創辦華陽通用電子,2005年建立天派電子,2015年出任斑馬網絡CEO……今天,56歲的施雪松依然活躍在創業第一線,他的新身份是南京隼眼電子科技有限公司創始人兼董事長,在他的帶領下,隼眼科技率先打破了Autoliv、Bosch等國際巨頭的壟斷,生動形象地書寫了一部屬于毫米波雷達的“大國崛起”。 近日,《2019年南京市獨角獸、瞪羚企業發展白皮書》發布,...
  msp430按鍵控制  LAUNCHPAD的實驗板上共有兩個按鍵,一個按鍵接至RESET腳,固定作為復位按鍵來使用(S1)。按鍵S2連接在引腳P1.3,可供我們自由使用。這里我們實現通過此按鍵控制LED的閃爍。應當注意,連接按鍵的引腳松開時為高電平,按下為低電平?! “存I一般可以通過掃描和中斷來實現。掃描是指程序通過循環不停地讀取IO口的輸入值,并以此判斷...
6月24日,意法半導體(ST)和全球領先的模擬芯片代工廠Tower Semiconductor宣布達成協議,意法半導體歡迎TowerSemi加入其在意大利Agrate Brianza的Agrate R3 12英寸晶圓廠。 ST 和 TowerSemi 將聯手加快晶圓廠的產能提升,提高產能利用率,降低晶圓成本。 雙方將共享 R3 的潔凈室,TowerSemi 將在工廠總空間的三分之一內安裝自己的設備。該晶圓...

史海拾趣

問答坊 | AI 解惑

傳感器網絡操作系統TINYOS關鍵技術分析

摘要:在傳感器網絡中,作為上層協議和應用程序的運行基礎的操作系統有別于傳統的嵌入式操作系統,針對一個典型的傳感器網絡操作系統TinyOs,從其特點出發,采用與具體的組件代碼相結合的方式,對其體系結構、運行機制和通訊機制等關鍵技術進行分析 ...…

查看全部問答∨

Monahans 300 詭異的問題 ~~~

我的平臺是 CE5.0+Monahans 300,存放鏡像的NAND為128M,RAM 64M,FlashStorge 2G; 當我系統鏡像大于32.8M的時候,我裝的A4輸入法不能用,而另外的輸入法卻能用,但系統鏡像小于等于32.8M的時候都能用。 怎么會這樣?當鏡像大于32.8M的時候,怎 ...…

查看全部問答∨

硬件街機游戲開發,單片機游戲開發,CPLD/FPGA、ARM平臺游戲開發群成立

本超級QQ群成立,上限人數為500。 目標是發展中國游戲產業,提升硬件游戲開發技術交流。提供大的平臺。 發展的方向是游戲動漫相結合,此群不是網絡游戲開發,為單板街機游戲開發。 所屬第三產業。以電腦板游戲開發為主體,希望大家能在這個平 ...…

查看全部問答∨

STM32和PC機進行USB通信資料

                                 我現在做一個通過USB實現STM32和PC機進行通信的方案,感覺無從下手,希望有經驗的朋友,能分享一下經驗,在下不勝 ...…

查看全部問答∨

請教一個弱智的問題

就是比如我的單片機要外擴一個最簡單的8253 我在看別人的程序的時候 給出電路圖別人就說這個8253的3個定時記數器的地址分別為:8000,8001,8002 我想知道這樣的地址是如何計算出來的 謝謝了…

查看全部問答∨

at89s52和nrf24l01的問題

最近做個搶答器,用nrf24l01做無線收發模塊,單片機控制,其實做的時候思路不是很清晰,看了datasheet還有網上一個程序,他原本是用個3v的單片機做的,我用的這個是5v的,MI,MO,SCK口都是接的P1口那幾個最后好像沒什么反應,我是直接接上去的...昨天看了下 ...…

查看全部問答∨

求助

誰有那個200多頁的MC9808FL16RM的手冊給一個,謝謝!…

查看全部問答∨

msp430跟ad9850怎么接

短學期的實習內容是dds信號發生器的設計,單片機老師要求用430,查了幾天資料還是一頭霧水,想知道msp430f149跟ad9850的管腳是怎么接的,求高手賜教?!?

查看全部問答∨

新人求助 我這里ls顯示有那個文件的 但是cd缺進不去 求解 各位大神

我這里ls顯示有那個文件的  但是cd缺進不去 求解 各位大神…

查看全部問答∨

程序

兩位數碼管顯示加中斷,初學者,請幫忙…

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

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

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

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 琼中| 台前县| 隆回县| 涿鹿县| 镇坪县| 定日县| 绥芬河市| 比如县| 馆陶县| 漳浦县| 天门市| 若尔盖县| 乌鲁木齐县| 灵台县| 玛纳斯县| 左权县| 兴安盟| 罗源县| 郸城县| 马山县| 会东县| 荥经县| 黑水县| 柘荣县| 哈尔滨市| 澄江县| 炉霍县| 会昌县| 金溪县| 搜索| 沭阳县| 凤台县| 宝应县| 榆树市| 丰原市| 尉犁县| 象州县| 襄樊市| 无锡市| 页游| 维西|