STM32F429定時器4生成PWM,轉化為DAC

2021-10-01 21:20:21 字數 995 閱讀 9552

pwm轉dac

(1)高階定時器timer1, timer8以及通用定時器timer9, timer10, timer11的時鐘**是apb2匯流排

(2)通用定時器timer2-timer5,通用定時器timer12-timer14以及基本定時器timer6,timer7的時鐘**是apb1匯流排

(3)當apb1和apb2分頻數為1的時候,tim1、tim8-tim11的時鐘為apb2的時鐘,tim2-tim7、tim12-tim14的時鐘為apb1的時鐘;

(4)而如果apb1和apb2分頻數不為1,那麼tim1、tim8-tim11的時鐘為apb2的時鐘的兩倍,tim2-tim7、tim12-tim14的時鐘為apb1的時鐘的兩倍。

pwm頻率 = 定時器頻率/(分頻係數 x 自動重裝載值)

pwm占空比 = ccrx / 自動重裝載值。

#include "pwmdac.h"

tim_handletypedef tim4_handler; //定時器4 pwm控制代碼

tim_oc_inittypedef tim4_ch2handler; //定時器9通道2控制代碼

//pwm dac初始化(也就是tim4通道2初始化)

//pwm輸出初始化

//arr:自動重灌值

//psc:時鐘預分頻數

void tim4_ch2_pwm_init(u16 arr,u16 psc)

//定時器底層驅動,時鐘使能,引腳配置

//此函式會被hal_tim_pwm_init()呼叫

//htim:定時器控制代碼

void hal_tim_pwm_mspinit(tim_handletypedef *htim)

//設定tim通道2的占空比

//tim_typedef:定時器

//compare:比較值

void tim_settim4compare2(u32 compare)

STM32F429 系統滴答定時器

系統滴答定時器 屬於核心的定時器,用於控制整個系統的執行節拍,stm32f429是180mhz的,stm32f103最高是72mhz。此處主要是編寫控制時鐘進行延時的程式。工作流程 利用systick定時器為遞減計數器,設定初值並使能它後,它會每1個系統時鐘週期計數器減,計數到 0時,systick...

STM32F4定時器學習

高階定時器 time1 time8 通用定時器 time2time5,tim9tim14 基本定時器 time6 和 time7 等 tim2 tim5 的暫存器介紹 控制暫存器 1 timx cr1 只用到了 timx cr1 的最低位,也就是計數器使能位,該位必須置 1,才能讓定時器開始計數。d...

stm32F4 時基定時器(2)

找了很多的資料,終於把時基定時器的給弄懂了,沒有使用庫函式,直接操作暫存器。下面介紹stm32中的systick,systick 部分內容屬於nvic控制部分,一共有4個暫存器,名稱和位址分別是 stk csr,0xe000e010 控制暫存器 stk load,0xe000e014 過載暫存器 s...