1. 程式人生 > >[HAL庫學習之路]7.定時器中斷

[HAL庫學習之路]7.定時器中斷

記錄自己的STM32的HAL庫的學習之路,不定期更新…

一、Pinout

引腳配置

二、Clock Configuration

時鐘配置

三、Configuration

GPIO配置
定時器配置
定時器配置
定時器溢位時間

Tout=((arr+1)(psc+1))/Tclk

四、Generate Code

生成程式碼

程式碼
定時器溢位時間為500ms,500ms翻轉一次LED狀態

int main(void)
{

  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration----------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */
MX_GPIO_Init(); MX_TIM3_Init(); /* USER CODE BEGIN 2 */ HAL_TIM_Base_Start_IT(&htim3); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ } /* USER CODE END 3 */ }
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
    static
unsigned char ledState = 0; if (htim == (&htim3)) { if (ledState == 0) HAL_GPIO_WritePin(GPIOF,GPIO_PIN_9,GPIO_PIN_RESET); else HAL_GPIO_WritePin(GPIOF,GPIO_PIN_9,GPIO_PIN_SET); ledState = !ledState; } }

相關推薦

[HAL學習]7.定時中斷

記錄自己的STM32的HAL庫的學習之路,不定期更新… 一、Pinout 二、Clock Configuration 三、Configuration 定時器溢位時

[HAL學習]9.輸入捕獲

記錄自己的STM32的HAL庫的學習之路,不定期更新… 一、Pinout 二、Clock Configuration 三、Configuration 四、Generate C

[HAL學習]6.WWDG-視窗看門狗

記錄自己的STM32的HAL庫的學習之路,不定期更新… 一、Pinout 二、Clock Configuration 三、Configuration 配置GPIO

[HAL學習]5.IWDG-獨立看門狗

記錄自己的STM32的HAL庫的學習之路,不定期更新… 一、Pinout 二、Clock Configuration 三、Configuration 配置GPIO 配置

[HAL學習]4.外部中斷

記錄自己的STM32的HAL庫的學習之路,不定期更新… 一、Pinout 二、Clock Configuration 三、Configuration 四、Generate C

我的web前端學習-CSS-選擇

選擇 產生 之路 css 註意 images nbsp 前端 ges 選擇器指定了要作用的標簽 直接指定一個準確元素名,對其產生作用 指定標簽元素class屬性的值,可選指定特定的標簽元素,不要忘記“點”! (註意!!)class屬性的值可以用空格隔開表示多個cla

python學習7 前端學習4 jQuery 學習

前端學習 ast first 對象 獲取 前端 索引 簡寫 [0 轉換:   jquery 對象[0] => Dom對象 $(Dom 對象 ) => jquery 對象 1.id $("#id") 2.class $(".c

Python學習:裝飾實現

fun python run top 學習 pytho sleep light time() import time def timer(func):#timer(test1) func=test1 def deco(): start_time

Python學習:裝飾實現終極版

index type after color return 結果 python turn 調用 網站實現驗證功能裝飾器: import time user,passwd=‘alex‘,‘abc123‘ def auth(func): def wrapper(*ar

Vue學習7-v-on指令學習簡單事件綁定

調用 pan spl onerror reset ima 簡單 rip 指令 前言 在JavaScript中任何一個DOM元素都有其自身存在的事件對象,事件對象代表事件的狀態,比如事件在其中發生的元素、鍵盤按鍵的狀態、鼠標的位置和鼠標按鈕的狀態等。事件通常與函數結合使用,函

muduo網路學習筆記(三)TimerQueue定時佇列

目錄 muduo網路庫學習筆記(三)TimerQueue定時器佇列 Linux中的時間函式 timerfd簡單使用介紹 timerfd示例 muduo中對timerfd的封裝 TimerQueue的結構.

muduo網絡學習筆記(三)TimerQueue定時隊列

tex || 麻煩 這也 原因 否則 errno.h 受限 bind 目錄 muduo網絡庫學習筆記(三)TimerQueue定時器隊列 Linux中的時間函數 timerfd簡單使用介紹 timerfd示例 muduo中對timerfd的封裝 TimerQueue的結

python 學習day12(裝飾重點)

1.什麼是裝飾器 裝飾器指的是能為裝飾物件新增新功能的工具。 裝飾器的本身可以任意呼叫的物件,被裝飾物件本身也可以呼叫任意物件。 2.為什麼要使用裝飾器 在瞭解問題之前,我們需要一個原則------開放封閉原則。 開放封閉原則是我們在開發過程中必須要遵守的一個原則。開放封閉指的是對修改封閉,對擴充套

STM32CubeMX學習教程四:定時中斷

完整原始碼下載:https://github.com/simonliu009/STM32CubeMX-TIM1-Interrupt軟體:STM32CubeMX V4.25.0  System Workbench V2.4韌體庫版本:STM32Cube FW_F1 V1.6.1

Qt學習(7): 建立一個對話方塊(上)

#ifndef FINDDIALOG_H #define FINDDIALOG_H  #include <QtGui/QDialog>  class QCheckBox; class QLabel; class QLineEdit; class QPushButton;  class FindD

Python3學習~7.4 動態導入模塊

sel module class ron init pri div 新建 模塊名 動態導入模塊就是只知道str類型的模塊名字符串,通過這個字符串導入模塊。 準備: 首先創建一個模塊目錄lib,然後在目錄內創建一個模塊 aa.py: # aa.pyclass C:

Python3學習~7.3 反射

err onclick 內存地址 urn 技術 pytho light src eight python中的反射功能是由以下四個內置函數提供:hasattr、getattr、setattr、delattr,該四個函數分別用於對對象內部執行:檢查是否含有某成員、獲取成員、設置

Python學習——叠代

可叠代對象 函數 獲得 通過 src 生成 plain 擁有 哪些 叠代器 # 通過叠代器取值優缺點: # 優點:不依賴索引,完成取值 # 缺點:不能計算長度,不能指定位取值(只能從前往後逐一取值) 可叠代對象 ‘‘‘ 可叠代對象: 有__ite

Python學習8?叠代協議和生成器

rep 好處 obj 必須 決定 內容 cnblogs 有用 pri 一 什麽是叠代器協議 1.叠代器協議是指:對象必須提供一個next方法,執行該方法要麽返回叠代中的下一項,要麽就引起一個StopIteration異常,以終止叠代 (只能往後走不能往前退) 2.可叠代對象

Spring學習(四)spring對數據操作

date val mapr text core 導入 sed package assert 1、導入jdbc.jar、tx. jar包 2、測試 package com.junit; import static org.junit.Assert.*;