STM32F1\F4\H7 CubeMx 定時器配置

目錄

1 定時器使用

1.1 CubeMX 配置

1.1.1 創建工程

1.1.2 時鐘配置

1.1.3 定時器配置

1.1.4 GPIO 配置

1.1.5?工程管理

1.2 keil5 配置

1.2.1 添加代碼

1.2.2 修改配置

1.2.3 下載程序

2 PWM使用

2.1 CubeMX 配置

2.1.1 PWM 配置

2.1.2 周期\頻率計算方法

2.2 keil5 配置

2.2.1 添加代碼


本文主要記錄使用CubeMx配置STM32H750ZB 定時器配置過程,以及使用PWM功能。

STM32F1\F4 基本是一致的。

1 定時器使用

1.1 CubeMX 配置

1.1.1 創建工程

選擇型號,開始工程

1.1.2 時鐘配置

這里想要配置 STM32H750ZBT6最高頻率,想要選擇 Power Regulator Voltage Scale 0,之后還需要支持 rev.V(可以去網上查查為什么)

1.1.3 定時器配置

參數簡介:

  • Prescaler(預分頻系數):即PSC寄存器值
  • Counter Mode (計數方向): 向上計數
  • Counter Period (計數周期): 即ARR寄存器值,多少個計數脈沖作為1個波形周期
  • auto-reload preload (自動重載值的預裝載): 當改變周期值ARR時,是否等到下一個更新事件再寫入數值,使得數值的更改不影響執行中的波形

TIM2 對應總線:查找時鐘:

頻率計算公式:

F = \frac{TimerClock}{(Prescaler+1)(CounterPeriod+1)}

根據圖上配置,可以知道當前頻率為:

F = \frac{240MHZ}{(80-1+1)(5000-1+1)}=600HZ

1.1.4 GPIO 配置

PG0 引腳

1.1.5?工程管理

這里工程名字我就不改了

1.2 keil5 配置

1.2.1 添加代碼

串口打印代碼可以參考?STM32F1\F4\H7 CubeMx 串口一配置_stm32cubemx h750-CSDN博客

/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
uint32_t pwm_count=0;
/* USER CODE END 0 *//* USER CODE BEGIN 2 */
// enable timerHAL_TIM_Base_Start_IT(&htim2);    // 啟動定時2
/* USER CODE END 2 *//* USER CODE BEGIN 4 */
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) 
{if(htim->Instance == TIM2){/* 。。。 */pwm_count++;if(pwm_count<8){HAL_GPIO_WritePin(GPIOG, GPIO_PIN_0, GPIO_PIN_SET);}else{HAL_GPIO_WritePin(GPIOG, GPIO_PIN_0, GPIO_PIN_RESET);}if(pwm_count==10){pwm_count=0;}
//		printf("I'm timer2\r\n"); /* 插入換行 */}
};/* USER CODE BEGIN 4 */

1.2.2 修改配置

如果有printf 重映射,勾選 MicroLIB

1.2.3 下載程序

這里使用jlink,下邊是缺少有關STM32H750ZB相關的軟件,搜索下,安裝下即可。

(如果搜索不到,可以考慮升級keil版本)

2 PWM使用

2.1 CubeMX 配置

2.1.1 PWM 配置

這里選擇 TIM4 的通道四,對應引腳 PB9;

2.1.2 周期\頻率計算方法

查看 TIM4 對應的時鐘頻率:

頻率計算公式:

F = \frac{TimerClock}{(Prescaler+1)(CounterPeriod+1)}

根據圖上配置,可以知道當前頻率為:

F = \frac{240MHZ}{(240-1+1)(50000-1+1)}=20HZ

高電平時間:

T = \frac{40000}{50000}*\frac{1000ms}{20HZ} =40ms

2.2 keil5 配置

2.2.1 添加代碼

HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_4); //開啟PWM對應的通道uint16_t pwmval=30000;   //PWM占空比 
__HAL_TIM_SetCompare(&htim4, TIM_CHANNEL_4, pwmval);    // 修改占空比 tim4

后邊燒錄啥的就省略了...

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/85900.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/85900.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/85900.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2025中科院2區SCI-狀態優化算法Status-based Optimization-附Matlab免費代碼

近年來&#xff0c;現實世界的優化問題變得越來越復雜&#xff0c;挑戰了傳統確定性方法的有效性。本文介紹了基于狀態的優化&#xff08;SBO&#xff09;&#xff0c;這是一種受人類對地位提升的渴望啟發的高效算法。通過模擬個人如何接近、學習或從高地位人物那里獲得資源&am…

MySQL 啟動報錯 “The server quit without updating PID file“ 的全面解決方案(適用于 5.7/8.0 全版本)

摘要 在 MySQL 數據庫運維中&#xff0c;"The server quit without updating PID file" 是常見且棘手的啟動錯誤。本文結合 MySQL 官方文檔及實戰經驗&#xff0c;系統梳理該錯誤的 10 大核心成因與解決方案&#xff0c;覆蓋權限、配置、磁盤、SELinux 等多維度&…

運行時安全引擎RSE

安全之安全(security)博客目錄導讀 目錄 一、RSE 通信層 1.1 消息結構 1.2 源代碼文件 1.3 MHU 通信的 API 二、RSE 提供的運行時服務 2.1 運行時服務 API 2.2 軟件與 API 層次結構 三、基于 RSE 的 Measured Boot&#xff08;度量啟動&#xff09; 3.1 Measured Boo…

Elasticsearch、Faiss、Milvus在向量索引實現上的核心差

Faiss、Elasticsearch&#xff08;ES&#xff09;和Milvus在向量索引實現上的核心差異主要體現在架構定位、索引技術、擴展性及適用場景上&#xff0c;具體對比如下&#xff1a; 一、架構設計與定位? ?維度??Faiss??Elasticsearch??Milvus??核心定位?單機向量索引…

iot-dc3 項目windows本地運行保姆喂奶級教程

一.源碼拉取 當前時間:2025年06月18日12點02分 后臺接口服務:https://gitee.com/pnoker/iot-dc3.git 前端:https://gitee.com/pnoker/iot-dc3-web.git 請自行拉取至本地。 二.本地環境準備 其他基礎環境先不講了,如有需要請留言。 idea + VS Code。 IntelliJ IDEA 2024.2.…

內部網關協議配置實驗

一&#xff1a;靜態路由 簡述&#xff1a;在華為路由器中&#xff0c;使用ip route-static命令配置靜態路由。一條靜態路由主要包含以下要素。 目的地址&#xff1a;數據包要到達的目標IP地址 子網掩碼&#xff1a;用于指定目的地址的網絡部分和主機部分 下一跳地址&#xff08…

大模型應用:如何使用Langchain+Qwen部署一套Rag檢索系統

一、TL&#xff1b;DR 從0-1使用qwen chat model langchain的鏈式架構搭建一套rag系統詳細介紹了Langchain的工具鏈的調用流程簡單介紹了可能會出現什么問題 二、方法 參考開源鏈接&#xff1a;https://github.com/Aphasia0515/self_llm/ 2.1 硬件和軟件依賴 類型需求備注…

決策樹:化繁為簡的智能決策利器

本文來自「大千AI助手」技術實戰系列&#xff0c;專注用真話講技術&#xff0c;拒絕過度包裝。 想象一個相親決策過程&#xff1a; 對方收入 > 30萬&#xff1f; → 是 → 見面否 → 顏值高&#xff1f; → 是 → 先聊聊否 → 放棄 這種層層遞進的判斷結構&#xff0c;正是…

html中的盒子標簽div標簽,有序列表,無序列表

div標簽 div標簽對于分析數據很重要&#xff0c;因為數據在頁面中展示是以區域的形式展示的&#xff0c;而查找數據需要先找到盒子名稱在繼續向下找。前端頁面布局中有兩種布局方式&#xff0c;一種是通過表格布局&#xff0c;一種是通過divcss來布局。 <!DOCTYPE html>…

【Redis】解碼Redis中hash類型:理解基礎命令,以及內部編碼方式和使用場景

&#x1f4da;?前言 &#x1f31f;&#x1f31f;&#x1f31f;精彩讀導 本次我們將全面剖析Redis的核心技術要點&#xff0c;包括其豐富的數據類型體系、高效的編碼方式以及秒級響應的性能奧秘。對于渴望深入理解Redis底層機制的技術愛好者&#xff0c;這是一次難得的學習機會…

AI工具在學術寫作中的倫理邊界與誠信規范的平衡

AI寫作助手的興起與爭議 人工智能技術的飛速發展&#xff0c;學境思源&#xff0c;ChatGPT、Grok、Claude 等AI寫作工具逐漸走入高校師生的視野。一鍵生成論文初稿&#xff01;從課程作業到畢業論文&#xff0c;不少學生已經嘗試讓AI參與寫作過程&#xff0c;希望借此提升效率…

課程專注度分析系統項目

前端代碼: <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>課堂專注度分析系統 - 科技…

區塊鏈是什么

區塊鏈的本質與機制 1. 核心定義 區塊鏈 加密的分布式記賬技術&#xff0c;融合密碼學、網絡學、金融學三大學科。 去中心化&#xff1a;數據存儲于全網節點&#xff08;如百萬臺計算機&#xff09;&#xff0c;而非單一數據庫。不可篡改&#xff1a;修改數據需控制全網51%以…

用可觀測工具高效定位和查找設計中深度隱藏的bug

軟件仿真擁有最佳的信號可見性和調試靈活性,被大多數工程師熟練使用,能夠高效捕獲很多顯而易見的常見錯誤。 然而,由軟件實現的數字仿真過程運行速度有限,很難做到100%代碼覆蓋。導致那些深度隱藏的設計問題,將不可避免的逃逸,只能以FPGA在線調試方式解決。 01 為什么全…

華為OD-2024年E卷-字符串化繁為簡[200分] -- python

問題描述&#xff1a; 給定一個輸入字符串&#xff0c;字符串只可能由英文字母(a~z、A~Z) 和左右小括號((、))組成。當字符串里存在小括號時&#xff0c;小括號是成對的&#xff0c;可以有一個或多個小括號對&#xff0c;小括號對不會嵌套&#xff0c;小括號對內可以包含1個或…

使用sealos安裝k8s

一、準備工作&#xff08;所有節點需執行&#xff09;? 1、系統要求 操作系統&#xff1a;本文為Ubuntu 20.0.4 配置&#xff1a;不同主機名、時間同步、SSH 免密互通、關閉防火墻/SELinux/swap。 資源&#xff1a;建議 ≥2核 CPU、2GB 內存&#xff08;生產環境需更高&am…

Pytorch 實戰四 VGG 網絡訓練

系列文章目錄 文章目錄 系列文章目錄前言一、源碼1. 解決線程沖突2.代碼框架 二、代碼詳細介紹1.基礎定義2. epoch 的定義3. 每組圖片的訓練和模型保存 前言 前面我們已經完成了數據集的制作&#xff0c;VGG 網絡的搭建&#xff0c;現在進行網絡模型的訓練。 一、源碼 import t…

課程專注度分析系統文檔

一、項目概述 本項目基于 Flask 框架開發&#xff0c;結合計算機視覺技術&#xff08;利用 YOLOv10 等模型 &#xff09;&#xff0c;實現對課堂視頻的智能分析。可檢測視頻中學生手機使用情況、面部表情&#xff08;專注、分心等 &#xff09;&#xff0c;統計專注度、手機使…

中國設計 全球審美 | 安貝斯新產品發布會:以東方美學開辟控制臺仿生智造新紀元

6月17日&#xff0c;安貝斯&#xff08;武漢&#xff09;控制技術有限公司&#xff08;以下簡稱“安貝斯”&#xff09;在武漢隆重舉行“新產品發布暨協會聯合創新峰會”。近百位來自政府機構、行業協會、行業用戶及戰略合作伙伴的嘉賓齊聚現場&#xff0c;共同見證以“中國設計…

在微信小程序wxml文件調用函數實現時間轉換---使用wxs模塊實現

1. 創建 WXS 模塊文件&#xff08;推薦單獨存放&#xff09; 在項目目錄下新建 utils.wxs 文件&#xff0c;編寫時間轉換邏輯&#xff1a; // utils.wxs module.exports {// 將毫秒轉換為分鐘&#xff08;保留1位小數&#xff09;convertToMinutes: function(ms) {if (typeo…