STM32F103攻城筆記 PWM功能實戰

2021-08-01 23:02:09 字數 896 閱讀 6000

系統時鐘是預設的hsi的8mhz頻率!這個會影響計時器的計數頻率,所以要知道要這個頻率,以保證以後自己可以根據分頻來控制pwm輸出波形的頻率大小!這個對於實際專案中的開發很重要,大都電機對於頻率都會有要求,這裡先不糾結這個,我們先來產生不同占空比的波形!系統時鐘預設為8mhz。

第一步:初始化相關暫存器。定時器選擇tim3,通道選擇ch2,即pa7埠。(這裡注意,pa7口和tim3_ch3是同一埠的復用功能,所以必須要對應,如果不想不對應的話就要設定對映,這裡不對這個進行設定說明)。

**如下(庫函式實現):

第二步:寫入引數,我要乙個以週期為800個計數值,不分頻的定時器,

**就是tim3_pwm_init(799,0); (這裡注意,定時器是從0開始的,所以800個計數值就是0~799,所以設定799)

最後設定占空比的庫函式就是tim_setcompare2(tim3,400);

這個函式的第乙個值就是選擇定時器,第二個引數就是我們在剛才設定的800個計數值中所佔的個數,這樣占空比就等於timcompare2/800=400/800 =0.5即高低電平個佔1/2週期!(注意timcompare2是對2通道,如果上面我們設定的是1通道那應該為timcompare1了,一次類推。。)

最後主函式**:

int main (void)}

我們利用示波器連線pa7埠就可以看到占空比為50%的波形了!

如果tim_setcompare2(tim3,200),我們可以看到高電平占空比為200/800=25%的波形了!

stm32f103外部中斷

void extix init void 外部中斷0服務程式 void exti9 5 irqhandler void 這是簡單的外部中斷的配置,pc7作為中斷輸入 上面補充io口的初始化 gpio initstructure.gpio mode gpio mode ipu pc6配置為快充指示 1...

STM32F103啟動檔案

目錄 一 概述 二 彙編指令 2.1 equ 2.2 area 2.3 space 2.4 preserve8 2.5 thumb 2.6 export 2.7 dcd 2.8 proc 2.9 ldr 2.10 blx 2.11 bx 2.12 temport 2.13 b 2.14 if,els...

關於STM32F103精確延時

為了相容freertos,所以將延時函式統一規範,後續使用方便移植。此延時針對無晶振,示例為系統倍頻64mhz,型號 stm32f103c8t6。新建system資料夾,新增兩個檔案,delay.c和delay.h 以下為delay.c內容 其中系統已倍頻為64m include stm32f10x...