單片機學習之定時器

定時器是用來定時的機器,是存在于STM32單片機中的一個外設。STM32一般總共有8個定時器,分別是2個高級定時器(TIM1、TIM8),4個通用定時器(TIM2、TIM3、TIM4、TIM5)和2個基本定時器(TIM5、TIM6)。

這里主要介紹兩個功能。一、定時。 二、輸出PWM波

時基單元

時基單元它包括三個寄存器,分別是:計數器寄存器(TIMx_CNT)、預分頻器寄存器(TIMx_PSC)和自動裝載寄存器(TIMx_ARR)。對這三個寄存器的介紹如下:

計數器寄存器(TIMx_CNT):向上計數、向下計數或者中心對齊計數;

計數器寄存器(TIMx_CNT):可將時鐘頻率按1到65535之間的任意值進行分頻,可在運行時改變其設置值;

自動裝載寄存器(TIMx_ARR)

預分頻器寄存器(TIMx_PSC):在時鐘信號達到計數器之前,對時間信號進行處理。(頻率乘或除整倍數)。TIME = TIME/(PSC+1)

定時功能

通過PSC和ARR進行操作。Tout=(ARR+1)(PSC+1)/TIMxCLK。

輸出PWM

利用定時器的輸出比較可以產生PWM波,PWM是控制電機速度必不可少的一個東西。STM32一個定時器有四個通道,總共可以產生四路PWM,我們在設置產生PWM時除了要設置基本的定時器的分頻系數和重裝載值之外,還要設置產生PWM的通道的參數以及調用相關的使能函數。

?PWM模式可以產生一個由TIMx_ARR寄存器確定頻率、由TIMx_CCRx寄存器確定占空比的信號。

PSC(預分頻系數),ARR(自動重裝器系數),CCR(捕獲/比較器系數)

PWM頻率=更新頻率:Freq(時鐘數)/(PSC+1)/(ARR+1)

PWM占空比:Duty=CCR/(ARR+1)

標準頻率=72M/(PSC+1)

PWM分辨率:Reso=1/(ARR+1)

PWM模式分為兩類

PWM模式1的情況下,當前值小于比較值為有效電平;PWM模式2的情況下,當前值大于比較值為有效電平。

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

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

相關文章

AIGC6——AI的哲學困境:主體性、認知邊界與“天人智一“的再思考

引言:當機器開始"思考" 2023年,Google工程師Blake Lemoine聲稱對話AI LaMDA具有"自我意識",引發軒然大波。這一事件將古老的哲學問題重新拋回公眾視野:?**機器能否擁有主體性?**從東方"天人…

從內核到應用層:Linux緩沖機制與語言緩沖區的協同解析

系列文章目錄 文章目錄 系列文章目錄前言一、緩沖區1.1 示例11.2 緩沖區的概念 二、緩沖區刷新方案三、緩沖區的作用及存儲 前言 上篇我們介紹了,文件的重定向操作以及文件描述符的概念,今天我們再來學習一個和文件相關的知識-----------用戶緩沖區。 在…

高通camx IOVA內存不足,導致10-15x持續拍照后,點擊拍照鍵定屏無反應,過一會相機閃退

定屏閃退問題分析思路: 定屏問題如果是相機問題,一般會出現返幀,導致預覽卡死。當然還有其他情況,我們先看返幀情況,發現request和result開始都正常,到12:53:05.443038就沒有返幀了,定屏了。往…

AI知識補全(十五):AI可解釋性與透明度是什么?

名人說:一笑出門去,千里落花風。——辛棄疾《水調歌頭我飲不須勸》 創作者:Code_流蘇(CSDN)(一個喜歡古詩詞和編程的Coder😊) 上一篇:AI知識補全(十四):零樣本…

CentOS 7安裝hyperscan

0x00 前言 HyperScan是一款由Intel開發的高性能正則表達式匹配庫,專為需要快速處理大量數據流的應用場景而設計。它支持多平臺運行,包括Linux、Windows和macOS等操作系統,并針對x86架構進行了優化,以提供卓越的性能表現。HyperSc…

機器學習的一百個概念(9)學習曲線

前言 本文隸屬于專欄《機器學習的一百個概念》,該專欄為筆者原創,引用請注明來源,不足和錯誤之處請在評論區幫忙指出,謝謝! 本專欄目錄結構和參考文獻請見[《機器學習的一百個概念》 ima 知識庫 知識庫廣場搜索&…

macvlan 和 ipvlan 實現原理及設計案例詳解

一、macvlan 實現原理 1. 核心概念 macvlan 允許在單個物理網絡接口上創建多個虛擬網絡接口,每個虛擬接口擁有 獨立的 MAC 地址 和 IP 地址。工作模式: bridge 模式(默認):虛擬接口之間可直接通信,類似交…

linux文件上傳下載lrzsz

lrzsz 是一個在 Linux 系統中用于通過串行端口(如 ZMODEM、XMODEM、YMODEM 等協議)進行文件上傳和下載的工具集。它通常用于在終端環境中通過串口或 SSH 連接傳輸文件。 安裝 lrzsz 在大多數 Linux 發行版中,你可以使用包管理器來安裝 lrzsz。 Debian/Ubuntu: sudo apt-ge…

單片機學習之SPI

物理層 串行全雙工總線 需要四根線:SCLK(時鐘線),CS(片選線)、MOSI(主設備輸出、從設備輸入),MISO(主設備輸入,從設備輸出)。 片選信號 片選信號CS是用來…

大模型應用初學指南

隨著人工智能技術的快速發展,檢索增強生成(RAG)作為一種結合檢索與生成的創新技術,正在重新定義信息檢索的方式,RAG 的核心原理及其在實際應用中的挑戰與解決方案,通用大模型在知識局限性、幻覺問題和數據安…

docker-compose部署prometheus+grafana+node_exporter+alertmanager規則+郵件告警

目錄 一.docker-compose文件 二.配置文件 三.文件層級關系,docker-compose和配置文件位于同級目錄 四.node_exporter頁面json文件 五.效果展示 prometheusalertmanager郵件告警 grafana面板效果 六.涉及離線包 一.docker-compose文件 [rootsulibao prometh…

AI設計再現新引擎,科技創新又添新動能——廣東省首家行業AI設計工程中心獲批成立

近期,大捷智能科技(廣東)有限公司(以下簡稱“大捷智能”)憑借其在人工智能與智能制造領域的突出研發實力與創新科技成果,由廣東省科技廳批準設立“廣東省模具智能設計與智能制造工程技術研究中心”。 廣東省…

【MongoDB + 向量搜索引擎】MongoDB Atlas 向量搜索 提供全托管解決方案

在代碼審計項目中,MongoDB可以用于存儲元數據和部分結構化信息,但要高效處理向量相似性搜索,需結合其他工具。以下是具體分析: 1. MongoDB 的適用場景 元數據存儲: 存儲代碼片段的文件路徑、行號、語言類型等結構化信…

基于ANSYS 概率設計和APDL編程的結構可靠性設計分析

01 可靠度基本理論 結構的極限狀態:整個結構的一部分超過某一特定狀態就不能滿足設計規定的某一功能要求。結構的極限狀態實質上是結構工作狀態的一個閥值,如果工作狀態超過這一閥值,則結構處于不安全、不耐久或不適用的狀態;若工…

CyclicBarrier、Semaphore、CountDownLatch的區別,適用場景

CyclicBarrier、Semaphore 和 CountDownLatch 是 Java 并發包中用于線程協作的工具類,它們雖然都與線程同步相關,但設計目的和使用場景有顯著差異。以下是它們的核心區別和典型應用場景: 1. CountDownLatch 核心機制 一次性計數器&#xf…

新能源汽車測試中的信號調理模塊:從原理到實戰應用

摘要 信號調理模塊(Signal Conditioning Module, SCM)是新能源汽車(NEV)測試系統中的關鍵環節,直接影響數據采集的精度與可靠性。本文面向HIL測試工程師、電機測試工程師及整車動力經濟性測試工程師,系統性…

Qt5 Mac系統檢查休眠

在開發跨平臺應用程序時,有時候我們需要檢測系統的狀態,比如是否處于休眠或喚醒狀態。Qt是一個強大的跨平臺應用開發框架,支持多種操作系統,包括Windows、Linux、macOS等。在這個場景下,我們關注的是如何在Qt5.10中檢測到系統是否休眠以及在Mac上實現這一功能。本文將深入…

RabbitMQ簡單介紹和安裝

RabbitMQ簡單介紹 一.RabbitMQ介紹二.RabbitMQ的作用1.異步解耦2.流量削峰3.消息分發4.延遲通知 三.RabbitMQ安裝(Ubuntu)1.先安裝Erlang2.安裝RabbitMQ3.安裝RabbitMQ的管理界面4.創建虛擬機5.端口號信息 四.工作原理圖 一.RabbitMQ介紹 RabbitMQ 是一款…

匯編學習之《call, return指令》

call 指令 call 指令就是調用函數的執行,不過它也是幾個指令的組合 第一步通過jmp 函數地址的方式先跳轉到函數 第二步通過push 指令將函數地址指令額下一行的指令的地址壓入棧中。 我們來驗證下 首先打開OllyDbg,導入你的程序,找到一個call 函數&…

接口自動化學習三:參數化parameterize

使用parametrize之前: def add(x,y):return xy class TestAddFunction(object):def test01(self):resadd(2,4)assert 6resdef test02(self):resadd(4,6)assert 10resparametrize參數化之后: import pytest def add(x,y):return xydata[(10,20,30),(200…