国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

GD32F303高級(jí)定時(shí)器輸出互補(bǔ)PWM-開發(fā)筆記

這篇具有很好參考價(jià)值的文章主要介紹了GD32F303高級(jí)定時(shí)器輸出互補(bǔ)PWM-開發(fā)筆記。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

GD32F303高級(jí)定時(shí)器timer0輸出3組互補(bǔ)PWM

主要特性

? 總通道數(shù):4;
? 計(jì)數(shù)器寬度:16位;
? 時(shí)鐘源可選:內(nèi)部時(shí)鐘,內(nèi)部觸發(fā),外部輸入,外部觸發(fā);
? 多種計(jì)數(shù)模式:向上計(jì)數(shù),向下計(jì)數(shù)和中央計(jì)數(shù);
? 正交編碼器接口:被用來追蹤運(yùn)動(dòng)和分辨旋轉(zhuǎn)方向和位置;
? 霍爾傳感器接口:用來做三相電機(jī)控制;
? 可編程的預(yù)分頻器:16位,運(yùn)行時(shí)可以被改變;
? 每個(gè)通道可配置:輸入捕獲模式,輸出比較模式,可編程的PWM模式,單脈沖模式;
? 可編程的死區(qū)時(shí)間;
? 自動(dòng)重裝載功能;
? 可編程的計(jì)數(shù)器重復(fù)功能;
? 中止輸入功能;
? 中斷輸出和DMA請(qǐng)求:更新事件,觸發(fā)事件,比較/捕獲事件,換相事件和中止事件;
? 多個(gè)定時(shí)器的菊鏈?zhǔn)沟靡粋€(gè)定時(shí)器可以同時(shí)啟動(dòng)多個(gè)定時(shí)器;
? 定時(shí)器的同步允許被選擇的定時(shí)器在同一個(gè)時(shí)鐘周期開始計(jì)數(shù);
? 定時(shí)器主-從管理。

結(jié)構(gòu)圖

stm32f030 互補(bǔ)pwm,兆易GD32系列開發(fā),單片機(jī),stm32,嵌入式硬件,c語言,個(gè)人開發(fā)

時(shí)鐘

stm32f030 互補(bǔ)pwm,兆易GD32系列開發(fā),單片機(jī),stm32,嵌入式硬件,c語言,個(gè)人開發(fā)
高級(jí)定時(shí)器timer0是掛在APB2上的,最大頻率120MHz,這里使用120MHz。
stm32f030 互補(bǔ)pwm,兆易GD32系列開發(fā),單片機(jī),stm32,嵌入式硬件,c語言,個(gè)人開發(fā)
時(shí)鐘使能,令RCU_APB2EN的11位bit為1即可。

主要寄存器

stm32f030 互補(bǔ)pwm,兆易GD32系列開發(fā),單片機(jī),stm32,嵌入式硬件,c語言,個(gè)人開發(fā)
需要配置的寄存器為上面框出來的。

代碼講解(寄存器版)

  • pwm.c
/*
* Dasen - 2023/4/28
* pwm.c - 產(chǎn)生三組互補(bǔ)PWM波
*/

#include "pwm.h"

void Pwm_gpioInit(void)
{
	//PA8(復(fù)用) - CH0			|		PB13(復(fù)用) - CH0-N	
	//PA9(復(fù)用) - CH1			|		PB14(復(fù)用) - CH1-N
	//PA10(復(fù)用) - CH2		|		PB15(復(fù)用) - CH2-N
	RCU_APB2EN |=(1<<2);//GPIOA時(shí)鐘使能
	RCU_APB2EN |=(1<<3);//GPIOB時(shí)鐘使能
	RCU_APB2EN |=(1<<0);//復(fù)用IO時(shí)鐘使能
	
	
	
	//PA8
	GPIO_CTL1(GPIOA) &=~(0X0F<<0);//清除CTL配置
	GPIO_CTL1(GPIOA) |=(3<<0);//輸出模式,最大速度50MHz
	GPIO_CTL1(GPIOA) |=(2<<2);//AFIO推挽輸出
	
	//PA9
	GPIO_CTL1(GPIOA) &=~(0X0F<<4);//清除CTL配置
	GPIO_CTL1(GPIOA) |=(3<<4);//輸出模式,最大速度50MHz
	GPIO_CTL1(GPIOA) |=(2<<6);//AFIO推挽輸出
	
	//PA10
	GPIO_CTL1(GPIOA) &=~(0X0F<<8);//清除CTL配置
	GPIO_CTL1(GPIOA) |=(3<<8);//輸出模式,最大速度50MHz
	GPIO_CTL1(GPIOA) |=(2<<10);//AFIO推挽輸出
	
	//PB13
	GPIO_CTL1(GPIOB) &=~(0X0F<<20);//清除CTL配置
	GPIO_CTL1(GPIOB) |=(3<<20);//輸出模式,最大速度50MHz
	GPIO_CTL1(GPIOB) |=(2<<22);//AFIO推挽輸出
	
	//PB14
	GPIO_CTL1(GPIOB) &=~(0X0F<<24);//清除CTL配置
	GPIO_CTL1(GPIOB) |=(3<<24);//輸出模式,最大速度50MHz
	GPIO_CTL1(GPIOB) |=(2<<26);//AFIO推挽輸出
	
	//PB15
	GPIO_CTL1(GPIOB) &=~(0X0F<<28);//清除CTL配置
	GPIO_CTL1(GPIOB) |=(3<<28);//輸出模式,最大速度50MHz
	GPIO_CTL1(GPIOB) |=(2<<30);//AFIO推挽輸出
	
	AFIO_PCF0 &=~(3<<6);
	AFIO_PCF0 |=(0<<6);//沒有重映射
}

void Timer0_InitPwm(uint16_t prescale, uint16_t period)
{
	RCU_APB2EN |=(1<<11);//TIMER0時(shí)鐘使能
	
	Pwm_gpioInit();//gpio config
	
	TIMER_CTL0(TIMER0) = 0;//清除控制寄存器0配置
	TIMER_CTL0(TIMER0) |=(0<<8);//通過軟件配置CKDIV,規(guī)定定時(shí)器時(shí)鐘(CK_TIMER) 與死區(qū)時(shí)間和數(shù)字濾波器采樣時(shí)鐘(DTS)之間的分頻系數(shù)。:
															//00:fDTS=fCK_TIMER;
															//01:fDTS= fCK_TIMER /2;
															//10:fDTS= fCK_TIMER /4;
															//11:保留
	
	TIMER_CTL0(TIMER0) |=(1<<7);//1:使能TIMERx_CAR寄存器的影子寄存器(自動(dòng)重載影子使能)
	TIMER_CTL0(TIMER0) |=(0<<5);//計(jì)數(shù)器對(duì)齊模式選擇:00:無中央對(duì)齊計(jì)數(shù)模式(邊沿對(duì)齊模式)。 DIR位指定了計(jì)數(shù)方向。其他值為中央對(duì)齊模式
	TIMER_CTL0(TIMER0) |=(0<<4);//0:向上計(jì)數(shù);1:向下計(jì)數(shù)
	TIMER_CTL0(TIMER0) |=(1<<2);//選擇更新事件源。1:下列事件會(huì)產(chǎn)生更新中斷或DMA請(qǐng)求:計(jì)數(shù)器溢出/下溢
	TIMER_CTL0(TIMER0) |=(0<<1);//該位用來使能或禁能更新事件的產(chǎn)生。0:更新事件使能.1:更新事件禁能.
	
	
	
	TIMER_CTL1(TIMER0)=0;//清除控制寄存器1配置
	TIMER_CTL1(TIMER0) |=(1<<3);//DMA請(qǐng)求源選擇:0:當(dāng)通道捕獲/比較事件發(fā)生時(shí),發(fā)送通道x的DMA請(qǐng)求 .1:當(dāng)更新事件發(fā)生,發(fā)送通道x的DMA請(qǐng)求
	TIMER_CTL1(TIMER0) |=(0<<2);//換相控制影子寄存器更新控制:當(dāng)換相控制影子寄存器(CHxEN, CHxNEN和CHxCOMCTL位)使能(CCSE=1),這些影子寄存器更新控制如下:(當(dāng)通道沒有互補(bǔ)輸出時(shí),此位無效。)
															//0:CMTG位被置1時(shí)更新影子寄存器
															//1:當(dāng)CMTG位被置1或檢測(cè)到TRIGI上升沿時(shí),影子寄存器更新 
															
	TIMER_CTL1(TIMER0) |=(1<<0);//換相控制影子使能:0:影子寄存器CHxEN, CHxNEN和CHxCOMCTL位禁能.
															//1:影子寄存器CHxEN, CHxNEN和CHxCOMCTL位使能.
															//如果這些位已經(jīng)被寫入了,換相事件到來時(shí)這些位才被更新
															//當(dāng)通道沒有互補(bǔ)輸出時(shí),此位無效
															
	TIMER_SMCFG(TIMER0) =0;//清除從模式配置寄存器配置

	TIMER_DMAINTEN(TIMER0) =0;//清除DMA和中斷使能寄存器
	TIMER_DMAINTEN(TIMER0) |=(0<<0);//0:禁止更新中斷;1:使能更新中斷
	
	TIMER_INTF(TIMER0) =0;//中斷標(biāo)志位清零 【TIMER_INTF(TIMER0)&(1<<0) 為UPIF更新中斷標(biāo)志位:1:發(fā)生更新中斷;0:無更新中斷發(fā)生?!?/span>
	
	TIMER_SWEVG(TIMER0) =0;//軟件事件產(chǎn)生寄存器清零
	
	
	
	/******************************PWM通道配置 START*********************************/
	//先把CHCTL2的CHxEN清零,才配置CHCTL0
	TIMER_CHCTL2(TIMER0) =0;//通道控制寄存器2清零
	
	TIMER_CHCTL0(TIMER0) =0;//通道控制寄存器0清零
	TIMER_CHCTL1(TIMER0) =0;//通道控制寄存器1清零
	//CH0
	TIMER_CHCTL0(TIMER0) |=(0<<0);//通道0 I/O模式選擇:00:通道0配置為輸出
	TIMER_CHCTL0(TIMER0) |=(1<<3);//1:使能通道0輸出/比較影子寄存器
	TIMER_CHCTL0(TIMER0) |=(6<<4);//110:PWM 模式0。在向上計(jì)數(shù)時(shí),一旦計(jì)數(shù)器值小于TIMERx_CH0CV時(shí),O0CPRE為高電平,否則為低電平。在向下計(jì)數(shù)時(shí),一旦計(jì)數(shù)器的值大于TIMERx_CH0CV時(shí),O0CPRE 為低電平,否則為高電平。
	
	//CH1
	TIMER_CHCTL0(TIMER0) |=(0<<8);
	TIMER_CHCTL0(TIMER0) |=(1<<11);
	TIMER_CHCTL0(TIMER0) |=(6<<12);
	
	//CH2
	TIMER_CHCTL1(TIMER0) |=(0<<0);
	TIMER_CHCTL1(TIMER0) |=(1<<3);
	TIMER_CHCTL1(TIMER0) |=(6<<4);
	
	//CH0 EN
	TIMER_CHCTL2(TIMER0) |=(1<<0);//1:使能通道x
	TIMER_CHCTL2(TIMER0) |=(0<<1);//通道x極性:0:通道x高電平為有效電平;1:通道x低電平為有效電平
	//CH0-N EN
	TIMER_CHCTL2(TIMER0) |=(1<<2);//1:使能通道x互補(bǔ)輸出
	TIMER_CHCTL2(TIMER0) |=(0<<3);//通道x互補(bǔ)輸出極性:0:通道x互補(bǔ)輸出高電平為有效電平;1:通道x互補(bǔ)輸出低電平為有效電平
	
	//CH1 EN
	TIMER_CHCTL2(TIMER0) |=(1<<4);//1:使能通道x
	TIMER_CHCTL2(TIMER0) |=(0<<5);//通道x極性:0:通道x高電平為有效電平;1:通道x低電平為有效電平
	//CH1-N EN
	TIMER_CHCTL2(TIMER0) |=(1<<6);//1:使能通道x互補(bǔ)輸出
	TIMER_CHCTL2(TIMER0) |=(0<<7);//通道x互補(bǔ)輸出極性:0:通道x互補(bǔ)輸出高電平為有效電平;1:通道x互補(bǔ)輸出低電平為有效電平
	
	//CH2 EN
	TIMER_CHCTL2(TIMER0) |=(1<<8);//1:使能通道x
	TIMER_CHCTL2(TIMER0) |=(0<<9);//通道x極性:0:通道x高電平為有效電平;1:通道x低電平為有效電平
	//CH2-N EN
	TIMER_CHCTL2(TIMER0) |=(1<<10);//1:使能通道x互補(bǔ)輸出
	TIMER_CHCTL2(TIMER0) |=(0<<11);//通道x互補(bǔ)輸出極性:0:通道x互補(bǔ)輸出高電平為有效電平;1:通道x互補(bǔ)輸出低電平為有效電平
	
	TIMER_SWEVG(TIMER0) |=(1<<5);//通道換相更新事件發(fā)生:1:產(chǎn)生通道控制更新事件。此位由軟件置1,由硬件自動(dòng)清0. 當(dāng)此位被置1,通道捕獲/比較控制寄存器 (CHxEN, CHxNEN 和CHxCOMCTL) 的互補(bǔ)輸出被更新。
	/******************************PWM通道配置 END*********************************/
	
	//時(shí)基配置
	TIMER_CNT(TIMER0)=0;//計(jì)數(shù)器寄存器清零
	TIMER_PSC(TIMER0) =prescale;//TIM_CLK=120MHz/(prescale+1)。計(jì)數(shù)器時(shí)鐘等于TIMER_CK時(shí)鐘除以(PSC+1),每次當(dāng)更新事件產(chǎn)生時(shí),PSC 的值被裝入到對(duì)應(yīng)的影子寄存器。
	TIMER_CAR(TIMER0) =period;//計(jì)數(shù)器自動(dòng)重載值
	TIMER_CREP(TIMER0) = 5;//重復(fù)計(jì)數(shù)器的值;這些位定義了更新事件的產(chǎn)生速率。重復(fù)計(jì)數(shù)器計(jì)數(shù)值減為0時(shí)產(chǎn)生更新事件。影子寄存器的更新速率也會(huì)受這些位影響(前提是影子寄存器被使能)。
	
	//比較寄存器配置
	TIMER_CH0CV(TIMER0) = period>>1;//當(dāng)通道0配置為輸出模式時(shí),這些位包含了即將和計(jì)數(shù)器比較的值。使能相應(yīng)影子寄存器后,影子寄存器值隨每次更新事件更新。
	TIMER_CH1CV(TIMER0) = period>>1;
	TIMER_CH2CV(TIMER0) = period>>1;
	
	TIMER_CCHP(TIMER0) &=~(3<<8);//00:禁能保護(hù)模式。無寫保護(hù).
	TIMER_CCHP(TIMER0) =0;//互補(bǔ)通道保護(hù)寄存器清零
	TIMER_CCHP(TIMER0) |=(1<<15);//所有的通道輸出使能
	TIMER_CCHP(TIMER0) |=(0<<14);//自動(dòng)輸出使能:0:POEN位只能使用軟件方式置1;1:如果中止輸入無效,下一次更新事件發(fā)生時(shí),POEN位將會(huì)置1
																//此位只有在TIMERx_CCHP寄存器的PROT [1:0] =00時(shí)才可修改。
	
	TIMER_CCHP(TIMER0) |=(1<<11);//0:當(dāng)POEN位被置1,通道輸出信號(hào) (CHx_O/ CHx_ON)被禁止;1:當(dāng)POEN位被置1,通道輸出信號(hào) (CHx_O / CHx_ON)被使能,和TIMER0_CHCTL2寄存器CHxEN/CHxNEN位有關(guān)
															//此位在TIMERx_CCHP寄存器的PROT [1:0]=10或11時(shí)不能被更改。	

	TIMER_CCHP(TIMER0) |=(0<<10);//0:當(dāng)POEN位被清0,通道輸出信號(hào) (CHx_O/ CHx_ON)被禁止;1:當(dāng)POEN位被清0,通道輸出信號(hào) (CHx_O / CHx_ON)被使能,和TIMER0_CHCTL2寄存器CHxEN/CHxNEN位有關(guān)
															//此位在TIMERx_CCHP寄存器的PROT [1:0]=10或11時(shí)不能被更改。
															
	//死區(qū)時(shí)間
	TIMER_CCHP(TIMER0) |=(96<<0);//DELAY >= 8.33ns*96=799.68ns
	
	TIMER_CFG(TIMER0)=0;
	TIMER_CFG(TIMER0)|=1;//1:如果POEN位與IOS位均為0,則輸出無效
	
	
	TIMER_SWEVG(TIMER0) |=(1<<0);//更新事件產(chǎn)生:1:產(chǎn)生更新事件。此位由軟件置1,被硬件自動(dòng)清0。當(dāng)此位被置1,如果選擇了中央對(duì)齊或向上計(jì)數(shù)模式,計(jì)數(shù)器被清0。否則(向下計(jì)數(shù)模式)計(jì)數(shù)器將載入自動(dòng)重載值,預(yù)分頻計(jì)數(shù)器將同時(shí)被清除。
	TIMER_CTL0(TIMER0) |=(1<<0);//計(jì)數(shù)器使能:0:計(jì)數(shù)器禁能;1:計(jì)數(shù)器使能
}

  • main.c
/*
CK_SYS is 120000000
CK_AHB is 120000000
CK_APB1 is 60000000
CK_APB2 is 120000000
CK_SYS is 120000000
CK_AHB is 120000000
CK_APB1 is 60000000
CK_APB2 is 120000000
*/

#include "gd32f30x.h"
#include <stdio.h>
#include "main.h"
#include "pwm.h"


/*!
    \brief      main function
    \param[in]  none
    \param[out] none
    \retval     none
*/

int main(void)
{
	Timer0_InitPwm(0,4000-1);//120MHz/4000=30KHz	
    while (1);
}

實(shí)驗(yàn)現(xiàn)象

接示波器觀察,可以看到三組互補(bǔ)pwm波形,占空比為50%,頻率30KHz。文章來源地址http://www.zghlxwxcb.cn/news/detail-708991.html

到了這里,關(guān)于GD32F303高級(jí)定時(shí)器輸出互補(bǔ)PWM-開發(fā)筆記的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • STM32F4使用高級(jí)定時(shí)器(TIM1和TIM8)輸出PWM問題

    STM32F4使用高級(jí)定時(shí)器(TIM1和TIM8)輸出PWM時(shí)要使用TIM_CtrlPWMOutputs使能PWM輸出,否則不會(huì)輸出PWM波形,這一點(diǎn)是和通用定時(shí)器輸出PWM不一樣的地方,通用定時(shí)器是不用配置TIM_CtrlPWMOutputs函數(shù)的。、

    2024年02月15日
    瀏覽(30)
  • GD32F303基于USBD庫的usb custom hid 雙向通訊實(shí)現(xiàn)

    GD32F303基于USBD庫的usb custom hid 雙向通訊實(shí)現(xiàn)

    默認(rèn)已經(jīng)建立好需要移植的GD32F303空白工程 環(huán)境:keil?? GD庫版本: V2.1.4 通訊工具: 鏈接:https://pan.baidu.com/s/1Ukuy0u52C9ufPGz9QcHONA? 提取碼:d9rf 正文開始 USBD庫植步驟: 找到GD官網(wǎng)的軟件包 本文中用的是GD32F30x_Firmware_Library_V2.1.4 將FirmwareGD32F30x_usbd_library 文件夾全部拷貝至工程

    2023年04月09日
    瀏覽(32)
  • 【正點(diǎn)原子STM32連載】第二十三章 高級(jí)定時(shí)器互補(bǔ)輸出帶死區(qū)控制實(shí)驗(yàn) 摘自【正點(diǎn)原子】APM32F407最小系統(tǒng)板使用指南

    【正點(diǎn)原子STM32連載】第二十三章 高級(jí)定時(shí)器互補(bǔ)輸出帶死區(qū)控制實(shí)驗(yàn) 摘自【正點(diǎn)原子】APM32F407最小系統(tǒng)板使用指南

    本章將介紹使用APM32F407輸出帶死區(qū)和剎車控制的兩路互補(bǔ)PWM。通過本章的學(xué)習(xí),讀者將學(xué)習(xí)到高級(jí)定時(shí)器的互補(bǔ)輸出、死區(qū)插入和剎車的功能的使用。 本章分為如下幾個(gè)小節(jié): 23.1 硬件設(shè)計(jì) 23.2 程序設(shè)計(jì) 23.3下載驗(yàn)證 23.1 硬件設(shè)計(jì) 23.1.1 例程功能 定時(shí)器8通道1及其互補(bǔ)通道輸

    2024年02月09日
    瀏覽(74)
  • STM32F1定時(shí)器-PWM輸出

    STM32F1定時(shí)器-PWM輸出

    STM32 PWM工作過程 ARR寄存器決定PWM周期,CCR寄存器決定占空比 通道1為例 的PWM輸出電路圖 CCR1:捕獲比較(值)寄存器(x =1,2,3,4):設(shè)置比較值。 CCMR1:OC1M[2:0]位:對(duì)于PWM方式下,用于設(shè)置PWM模式1【110】 或者PWM模式2【111】 CCER:CC1P位:輸入/捕獲1輸出極性。0:高電平有效,1:低電平

    2024年02月09日
    瀏覽(21)
  • 單片機(jī)GD32F303RCT6 (Macos環(huán)境)開發(fā) (二十)—— 光感芯片veml7700的使用

    單片機(jī)GD32F303RCT6 (Macos環(huán)境)開發(fā) (二十)—— 光感芯片veml7700的使用

    1、veml有7個(gè)寄存器,每個(gè)十六位,見圖。 00是config寄存器, 01 02 是中斷設(shè)置的閾值 03是節(jié)能模式的設(shè)置 04 是得到的光的亮度值 05是得到的data of whole WHITE 06是中斷設(shè)置值。 2、我們只測(cè)試得到光的亮度值,所以veml寄存器設(shè)置如下: 設(shè)置gain,integration time ,power save mode ,interrup

    2024年02月04日
    瀏覽(30)
  • STM32TIM定時(shí)器PWM輸出比較(適用于通用,高級(jí)定時(shí)器)

    STM32TIM定時(shí)器PWM輸出比較(適用于通用,高級(jí)定時(shí)器)

    在定時(shí)器中我們最常用的功能就是輸出PWM,大多是用在電機(jī)控制方面,目前網(wǎng)絡(luò)上相關(guān)資料也有很多,但是,很多不利于我們“現(xiàn)搜現(xiàn)用”我這里不是說我寫的有多好,而是你搜索到此類文章時(shí)大部分是急于解決目前的問題,一段相關(guān)代碼和講解就行,當(dāng)然不是學(xué)習(xí)背后的原

    2024年01月25日
    瀏覽(22)
  • STM32——高級(jí)定時(shí)器輸出比較模式實(shí)驗(yàn)

    STM32——高級(jí)定時(shí)器輸出比較模式實(shí)驗(yàn)

    1,配置定時(shí)器基礎(chǔ)工作參數(shù) HAL_TIM_OC_Init() 2,定時(shí)器PWM輸出MSP初始化 HAL_TIM_OC_MspInit() 配置NVIC、CLOCK、GPIO等 3,配置PWM模式/比較值等 HAL_TIM_OC_ConfigChannel() 4,使能通道預(yù)裝載 __HAL_TIM_ENABLE_OCxPRELOAD() 5,使能輸出、主輸出、計(jì)數(shù)器 HAL_TIM_OC_Start() 6,修改捕獲/比較寄存器的值 _HAL

    2024年02月02日
    瀏覽(56)
  • stm32f407單一定時(shí)器輸出四路PWM波

    stm32f407單一定時(shí)器輸出四路PWM波

    最近在玩遙控器多路pwm捕獲,順帶著寫了一下pwm波輸出的代碼,下面我來說一下407板子輸出pwm波的具體配置及函數(shù)說明。 輸出效果如下。PS:因?yàn)槲业姆治鰞x只能接一個(gè),就只看一路的輸出 1、開啟時(shí)鐘及定時(shí)器引腳復(fù)用 在輸出PWM波時(shí)要開啟定時(shí)器時(shí)鐘及GPIO時(shí)鐘,本例以TI

    2024年02月12日
    瀏覽(22)
  • STM32F407高級(jí)定時(shí)器-死區(qū)時(shí)間研究-STM32CubeMX

    STM32F407高級(jí)定時(shí)器-死區(qū)時(shí)間研究-STM32CubeMX

    距離上次寫筆記,已經(jīng)過去好長時(shí)間了 中間也折騰過不少東西,但是都沒咋整理,主要是這中間都是在干活兒,不是自己想要研究的,也沒想著要寫。 從去年10月份開始想要學(xué)習(xí)FOC,10月份研究了一個(gè)月,到11月初,實(shí)現(xiàn)了SVPWM驅(qū)動(dòng)BLDC電機(jī),使用串口實(shí)現(xiàn)開環(huán)下轉(zhuǎn)速和力矩調(diào)

    2023年04月23日
    瀏覽(27)
  • STM32使用高級(jí)定時(shí)器輸出互補(bǔ)pwm波

    STM32使用高級(jí)定時(shí)器輸出互補(bǔ)pwm波

    最近做的一個(gè)項(xiàng)目用到stm32,網(wǎng)上查了很多資料,也踩了很多坑,這里記錄一下配置的步驟和說明 硬件使用的是stm32h750vbt6; 軟件用到了stm32cubemx和keil5; 打開Debug模式方便調(diào)試,可以忽略,不影響代碼運(yùn)行 在用cube配置時(shí)鐘源時(shí),有下面三個(gè)選項(xiàng) Disable(禁用) BYPASS Clock Sou

    2024年02月16日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包