在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32F407 基本定時器使用

DS小龍哥-嵌入式技術 ? 來源:DS小龍哥-嵌入式技術 ? 作者:DS小龍哥-嵌入式技 ? 2023-07-06 14:32 ? 次閱讀

介紹STM32F407基本定時器的配置方法,分別介紹輪詢方式、中斷方式使用定時器完成定時。

【1】定時器介紹

定時器相關的章節在STM32F4xx參考手冊第14、15、16、17章節。

img

img

img

img

img

【2】基本定時器配置示例

增加一個Timer.c文件,代碼如下

#include "timer.h"
 /*
 函數功能:基本定時器7初始化配置
 函數形參:
 psc  :預分頻系數
 arr  :重載值
 說明:定時器的視頻頻率為84MHZ ,是APB1時鐘頻率的2倍
 */
 void Time7_InitConfig(u16 psc,u16 arr)
 {
   /*1. 開時鐘*/
   RCC- >APB1ENR|=1< 5;    //開啟定時器7的時鐘
   RCC- >APB1RSTR|=1< 5;   //開啟復位時鐘  
   RCC- >APB1RSTR&=~(1< 5);//關閉  
 
   /*2. 配置定時器的核心寄存器*/
   TIM7- >PSC=psc-1;     //預分頻
   /*計數器的時鐘頻率CK_CNT等于fCK_PSC/(PSC[15:0]+1)*/
   TIM7- >ARR=arr;       //重裝載寄存器
   TIM7- >CR1|=1< 0;     //使能計數器
 }
 ?

Main.c文件中代碼如下

#include "stm32f4xx.h" // Device header
 #include "led.h"
 #include "delay.h"
 #include "key.h"
 #include "usart.h"
 #include "sys.h"
 #include "exti.h"
 #include "timer.h"
 ?
 int main(void)
 {
 LED_Init();
 KEY_Init();
 USART1_Init(84,115200);
 KEY_EXTI_Init();
   /*
 1/84000000得到定時器加的1的時間單位us
 1/84000得到定時器加的1的時間單位ms
 1/84得到定時器加的1的時間單位s   =0.0119047619047619
   */
 Time7_InitConfig(84,1000); //定時器7初始化
 /*
     分頻84,最終頻率1HMZ  計數器CNT+1的時間是1us
 */
   while(1)
 {
   if(TIM7- >SR&1< 0)       //判斷時間是否到達
 {
   TIM7- >SR&=~(1< 0);  //清除標志位
 LED0=!LED0;
 LED1=!LED1;
 }
 }
 }
 ?
 ?

【3】基本定時器中斷配置示例

在timer.c文件增加以下代碼

?
 #include "timer.h"
 /*
 函數功能:基本定時器7初始化配置
 函數形參:
 psc  :預分頻系數
 arr  :重載值
 說明:定時器的視頻頻率為84MHZ ,是APB1時鐘頻率的2倍
 */
 void Time7_InitConfig(u16 psc,u16 arr)
 {
   /*1. 開時鐘*/
   RCC- >APB1ENR|=1< 5;    //開啟定時器7的時鐘
   RCC- >APB1RSTR|=1< 5;   //開啟復位時鐘  
   RCC- >APB1RSTR&=~(1< 5);//關閉  
 
   /*2. 配置定時器的核心寄存器*/
 TIM7- >DIER|=1< 0; //開啟中斷
   SetNVICPriorityGrouping(TIM7_IRQn,1,1);  //設置中斷優先級
 TIM7- >PSC=psc-1;     //預分頻
   /*計數器的時鐘頻率CK_CNT等于fCK_PSC/(PSC[15:0]+1)*/
   TIM7- >ARR=arr;       //重裝載寄存器
   TIM7- >CR1|=1< 0;     //使能計數器
 }
 ?
 /*
 函數功能:定時器中斷服務函數
 */
 void TIM7_IRQHandler(void)
 {
 TIM7- >SR=0x0;
     LED0=!LED0;
 LED1=!LED1;
 }
 ?
 ?

Main.c文件代碼如下

#include "stm32f4xx.h" // Device header
 #include "led.h"
 #include "delay.h"
 #include "key.h"
 #include "usart.h"
 #include "sys.h"
 #include "exti.h"
 #include "timer.h"
 ?
 int main(void)
 {
 LED_Init();
 KEY_Init();
 USART1_Init(84,115200);
 KEY_EXTI_Init();
   /*
 1/84000000得到定時器加的1的時間單位us
 1/84000得到定時器加的1的時間單位ms
 1/84得到定時器加的1的時間單位s   =0.0119047619047619
   */
 Time7_InitConfig(84,65000); //定時器7初始化
 
 /*
     分頻84,最終頻率1HMZ  計數器CNT+1的時間是1us
 */
   while(1)
 {
   
 }
 }
 ?
 ?

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 計數器
    +關注

    關注

    32

    文章

    2290

    瀏覽量

    96150
  • 中斷
    +關注

    關注

    5

    文章

    904

    瀏覽量

    42585
  • 定時器
    +關注

    關注

    23

    文章

    3297

    瀏覽量

    117461
  • STM32F407
    +關注

    關注

    15

    文章

    188

    瀏覽量

    30332
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    STM32F407 滴答定時器

    介紹STM32F407滴答定時器配置方法、使用方式,封裝延時函數得到精確的時間。
    的頭像 發表于 07-06 14:32 ?2986次閱讀
    <b class='flag-5'>STM32F407</b> 滴答<b class='flag-5'>定時器</b>

    STM32F407 基本定時器配置輸出PWM方波

    介紹STM32F407定時器PWM波形輸出配置方式。 通過邏輯分析采集波形數據進行可視化顯示對比。
    的頭像 發表于 07-06 14:33 ?7387次閱讀
    <b class='flag-5'>STM32F407</b> 基本<b class='flag-5'>定時器</b>配置輸出PWM方波

    stm32f407定時器

    stm32f407 定時器 用的APB1 APB2 及 定時器頻率 上午想要用Timer10做相對精確的延時功能,但是用示波器發現實際延時數值總是只有一半,百思不得其解。仔細查閱各處資料結合實際研究后對
    發表于 08-06 07:29

    STM32F407定時器的時鐘頻率分別是多少

    STM32F407定時器有哪些?STM32F407定時器的時鐘頻率分別是多少?
    發表于 10-18 08:02

    stm32f407定時器是如何產生PWM的

    stm32f407有多少定時器呢?stm32f407定時器是如何產生PWM的?
    發表于 10-20 06:09

    STM32F407的高級定時器有哪些呢

    STM32F407的高級定時器有哪些呢?STM32F407的通用定時器有哪些呢?STM32F407的基本
    發表于 10-22 07:36

    如何對STM32f407系統定時器的時鐘進行配置呢

    如何對STM32f407系統定時器的時鐘進行配置呢?怎樣去計算STM32f407系統定時器的時鐘頻率呢?
    發表于 11-24 06:42

    STM32F407模板

    STM32F407模板,感興趣可以看看。
    發表于 07-25 18:52 ?155次下載

    STM32F407 UCOS III實驗

    STM32F407 UCOS III實驗,介紹基于STM32F407的UCOSIII實例,參考下
    發表于 09-22 14:08 ?82次下載

    STM32F407定時器的應用

    STM32F407定時器的應用定時器基礎常識自動重載寄存器(TIMx_ARR)自動重載寄存器是預裝載的。對自動重載寄存器執行寫入或讀取操作時會訪問預裝載寄存 器。預裝載寄存器的內容既可以直接傳送
    發表于 11-29 17:06 ?13次下載
    <b class='flag-5'>STM32F407</b><b class='flag-5'>定時器</b>的應用

    STM32F407引腳資源總結

    STM32F407引腳資源總結定時器 串口 ADC
    發表于 12-27 18:54 ?101次下載
    <b class='flag-5'>STM32F407</b>引腳資源總結

    STM32F407原理圖下載

    STM32F407原理圖下載
    發表于 01-17 13:44 ?446次下載

    STM32F407定時器編碼器模式簡介

    STM32F407定時器編碼器模式
    發表于 03-31 17:14 ?9122次閱讀
    <b class='flag-5'>STM32F407</b><b class='flag-5'>定時器</b>編碼器模式簡介

    STM32F407入門開發: 配置定時器輸出PWM方波

    STM32F407定時器的 TIM6 和 TIM7 是普通定時器,除此之外,其他的定時器都可以用來產生 PWM 輸出。其中高級定時器 TI
    的頭像 發表于 05-28 13:43 ?1.6w次閱讀
    <b class='flag-5'>STM32F407</b>入門開發: 配置<b class='flag-5'>定時器</b>輸出PWM方波

    STM32F407最小系統

    STM32F407最小系統免費下載。
    發表于 07-31 11:01 ?198次下載
    主站蜘蛛池模板: 天堂bt种子资源地址在线 | 久久狼人综合 | 黄色三级视频网站 | 日女人免费视频 | 在线播放 你懂的 | 成人三级影院 | 在线免费观看一级片 | 欧美性生活网站 | 亚洲精品久 | 天天射天天干天天操 | 高清一级做a爱免费视 | 一级黄视频 | a级毛片网站 | 一级黄色大全 | 67pao强力打造 | 日本黄视频网站 | 羞羞答答91麻豆网站入口 | 国产你懂的视频 | 东北美女野外bbwbbw免费 | 欧美色亚洲 | 丁香五香天堂网 | 婷婷综合亚洲 | 视频在线二区 | 午夜福免费福利在线观看 | 6月婷婷 | 久久综合丁香 | 婷婷丁香花 | 就要爱综合 | 国产网站黄色 | 夜夜春宵翁熄性放纵30 | 伊人三级 | 欧美四级在线 | 色综合天天操 | 欧美在线激情 | 一区二区视频在线 | 狠狠插综合网 | 久久澡人人澡狠狠澡 | cijilu刺激 国产免费的 | 妖精视频永久在线入口 | 欧美天堂在线观看 | 成年人黄色免费网站 |