国产精品久久久久影院,成人午夜福利视频,国产精品久久久久高潮,国产精品 欧美 亚洲 制服,国产精品白浆无码流出

于pwm波的輸出實(shí)驗(yàn)老早之前就學(xué)了,一直拖到現(xiàn)在才寫,,,。由于之前接觸過32的高級(jí)定時(shí)器所以是先從死區(qū)pwm波開始學(xué)的,后面才學(xué)的pwm波。其實(shí)會(huì)發(fā)出死區(qū)pwm波了也就會(huì)發(fā)pwm波了。在學(xué)習(xí)32的某個(gè)功能時(shí)要先去看32的數(shù)據(jù)參考手冊(cè)了解它的功能然后看它有哪些寄存器,對(duì)你需要用到的寄存器深入了解,最后看庫函數(shù)進(jìn)行編程。

要發(fā)出死區(qū)pwm波就要用到32的高級(jí)定時(shí)器TIM1或TIM8,這兩個(gè)定時(shí)器才有死區(qū)寄存器才能發(fā)出死區(qū)pwm波,對(duì)于它們的介紹網(wǎng)上資料有很多這里就不重復(fù)啰嗦了,但需要看幾個(gè)重要的寄存器:

● 控制寄存器(TIMx_CRx)

● 模式控制寄存器(TIMx_SMCR)

● 狀態(tài)寄存器(TIMx_SR)

計(jì)數(shù)器寄存器(TIMx_CNT)

預(yù)分頻器寄存器(TIMx_PSC)

● 自動(dòng)裝載寄存器(TIMx_ARR)

● 重復(fù)次數(shù)寄存器(TIMx_RCR)

● 剎車和死區(qū)寄存器(TIMx_BDTR)

前面幾個(gè)寄存器是在配置TIM1/TIM8是要用到的基本設(shè)置。自動(dòng)裝載寄存器是預(yù)先裝載的,寫或讀自動(dòng)重裝載寄存器將訪問預(yù)裝載寄存器。根據(jù)在TIMx_CR1寄存器中的自動(dòng)裝載預(yù)裝載使能位(ARPE)的設(shè)置,預(yù)裝載寄存器的內(nèi)容被立即或在每次的更新事件UEV時(shí)傳送到影子寄存器。當(dāng)計(jì)數(shù)器達(dá)到溢出條件(向下計(jì)數(shù)時(shí)的下溢條件)并當(dāng)TIMx_CR1寄存器中的UDIS位等于0時(shí),產(chǎn)生更新事件。更新事件也可以由軟件產(chǎn)生。計(jì)數(shù)器由預(yù)分頻器的時(shí)鐘輸出CK_CNT驅(qū)動(dòng),僅當(dāng)設(shè)置了計(jì)數(shù)器TIMx_CR1寄存器中的計(jì)數(shù)器使能位(CEN)時(shí),CK_CNT才有效。(更多有關(guān)使能計(jì)數(shù)器的細(xì)節(jié),請(qǐng)參見控制器的從模式描述)。注意,在設(shè)置了TIMx_CR寄存器的CEN位的一個(gè)時(shí)鐘周期后,計(jì)數(shù)器開始計(jì)數(shù)。最后來看一下死區(qū)寄存器:它是用來設(shè)置兩個(gè)互補(bǔ)pwm波的死區(qū)時(shí)間的

在這里插入圖片描述
在這里插入圖片描述

上面的位都是在配置死區(qū)寄存器要用到的基本配置,下面是它的死區(qū)時(shí)間配置位[7:0]

在這里插入圖片描述

DT表示的是死區(qū)時(shí)間,分了有四種情況位[7:5]為0xx、10x、110、111(x表示0或1)。32的主頻是72M,它每走一下的時(shí)間為1/72000000=13.89ns。表中64的由來是2^6,由此32是2的5次方。因?yàn)閁TG是有8個(gè)位。

知道這些應(yīng)該差不多了,接著就去看它的庫函數(shù)吧,32定時(shí)器的庫函數(shù)有兩頁之多,需仔細(xì)的看,死區(qū)寄存器的配置要注意兩路波的極性,不能搞錯(cuò)了。



#include "pwm.h"

#include "sys.h"

//FUNCTION:TIM1初始化函數(shù)

//AUTHOR:BiggerPast

//DATE:20181010

void TIM1_Init(u16 arr,u16 psc,u16 dead_time)

{

float T_TDS=13.89;//13.89ns

u16 death_time;                                                                                         

TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

TIM_OCInitTypeDef TIM_OCInitStructure;

TIM_BDTRInitTypeDef TIM_BDTRInitStructure;         //死區(qū)設(shè)置 

//dead_time--->255,以下計(jì)算按死區(qū)寄存器UTG位而得

if(dead_time >=0 && dead_time <=1764)//公式1

death_time = dead_time/T_TDS;

else if(dead_time>=1778 && dead_time<=3529)//公式2

death_time=dead_time/(T_TDS*2)+64;

else if(dead_time>=3556 && dead_time<=7001)//公式3

death_time=dead_time/(T_TDS*8)+160;

else if(dead_time>=7112 && dead_time<=14001)//公式4

    death_time=dead_time/(T_TDS*16) + 192;

  else

    death_time=death_time;

//IO口初始化

RCC->APB2ENR|=(1<<2)|(1<<3)|(1<<11);//使能PA PB TIM1時(shí)鐘

GPIOA->CRH&=0XFFFFF000;//清除設(shè)置

GPIOB->CRH&=0X000FFFFF;

GPIOA->CRH|=0X0000000A;//PA8復(fù)用推挽輸出 2M

GPIOB->CRH|=0X00A00000;//B13復(fù)用推挽輸出 2M

//定時(shí)器配置

TIM_TimeBaseStructure.TIM_Period = arr;//在下一個(gè)更新事件裝入活動(dòng)的自動(dòng)重裝載寄存器周期的值

TIM_TimeBaseStructure.TIM_Prescaler = psc;//TIM1時(shí)鐘頻率除數(shù)的預(yù)分頻值

TIM_TimeBaseStructure.TIM_ClockDivision = 0;//時(shí)鐘分頻可為1,2,4

TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;// 計(jì)數(shù)模式Up為向上計(jì)數(shù),Down向下

TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;//重復(fù)計(jì)數(shù)

TIM_TimeBaseInit(TIM1,&TIM_TimeBaseStructure);

//輸出波形配置 CH1

TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;//定時(shí)器模式為PWM模式1

TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;//輸出比較使能

TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable;//輸出比較N使能

TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;//空閑輸出極性高

TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High;

TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Reset;//空閑輸出高

TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCNIdleState_Reset;//空閑輸出低

TIM_OCInitStructure.TIM_Pulse = duty;

TIM_OC1Init(TIM1,&TIM_OCInitStructure);

/*高級(jí)定時(shí)器死區(qū)配置*/

TIM_BDTRInitStructure.TIM_AutomaticOutput=TIM_AutomaticOutput_Enable;//MOE主輸出使能 

TIM_BDTRInitStructure.TIM_Break=TIM_Break_Disable;//剎車功能禁止

TIM_BDTRInitStructure.TIM_BreakPolarity=TIM_BreakPolarity_High;       

TIM_BDTRInitStructure.TIM_DeadTime=death_time;//死區(qū)時(shí)間

TIM_BDTRInitStructure.TIM_LOCKLevel=TIM_LOCKLevel_OFF;//鎖定關(guān)閉,寄存器無寫保護(hù)

TIM_BDTRInitStructure.TIM_OSSRState=TIM_OSSRState_Disable;

TIM_BDTRInitStructure.TIM_OSSIState=TIM_OSSIState_Disable;

TIM_BDTRConfig(TIM1, &TIM_BDTRInitStructure);


TIM_CtrlPWMOutputs(TIM1,ENABLE);//MOE主輸出使能  高級(jí)定時(shí)器必須

TIM_OC1PreloadConfig(TIM1,TIM_OCPreload_Enable);//CH1預(yù)裝載使能

TIM_ARRPreloadConfig(TIM1,ENABLE);//使能TIM1在ARR上的預(yù)裝載寄存器

TIM_Cmd(TIM1,ENABLE);

}

總結(jié):波形的輸出端口有個(gè)映射的問題:映射就像是功能復(fù)制,把一個(gè)IO口的功能復(fù)制到另一個(gè)IO口,當(dāng)一個(gè)IO口的功能重復(fù)時(shí)通過映射就可以實(shí)現(xiàn)一個(gè)IO口實(shí)現(xiàn)不同的功能了。需要特別注意,不然輸出波形不正常!

關(guān)鍵字:STM32  TIM  死區(qū)互補(bǔ)  PWM波輸出 引用地址:STM32——TIM死區(qū)互補(bǔ)PWM波輸出

上一篇:STM32之3路ADC同步轉(zhuǎn)換
下一篇:STM32學(xué)習(xí)——矩陣鍵盤

推薦閱讀

? ??馬上要到國慶節(jié)了,很多人選擇回家過節(jié)和久別的父母長輩重逢,不妨用攢下的零花錢,給長輩換一臺(tái)時(shí)髦的手機(jī)!這樣的禮物一定會(huì)讓長輩非常開心,而適合長輩的手機(jī)要流暢易用,同時(shí)考慮到年輕人的經(jīng)濟(jì)承受能力,新浪手機(jī)特別精選了幾款近期超值千元手機(jī),一定能讓長輩用的非常順手!榮耀8X參考價(jià)格:1399元榮耀8X是榮耀本月在西安發(fā)布的一款千元機(jī),...
近日,荷蘭科技博客LetsGoDigital曝光了華為正在申請(qǐng)的第二代Mate X折疊屏智能機(jī)專利,外觀并沒有太大改動(dòng),但新增了手寫筆的收納槽。圖上可以看到它的外觀與初代沒有太大改變,最大的亮點(diǎn)是它在側(cè)邊欄預(yù)留了手寫筆的收納槽,在容納手寫筆的側(cè)邊欄隔斷附近,還可見到集成的攝像頭模塊,底部則有 USB 端口。 這也就意味著華為Mate X二代將會(huì)加入手寫筆...
內(nèi)部風(fēng)扇 ? 檢查連接以及 CI3 工藝板上的插頭 XE1 (松開風(fēng)扇固定件)和插頭 X31 是否牢固。 更換內(nèi)部風(fēng)扇: 1.? 機(jī)器人控制系統(tǒng)必須保持關(guān)斷狀態(tài),并做好保護(hù),防止未經(jīng)許可的意外重啟。 2.? 緩沖器已關(guān)閉。 3.? 切斷饋纜的供電。 操作步驟: 1. 打開控制柜門。 2. 取下風(fēng)扇片上的蓋形螺母及其下方的鎖緊螺母。 3. 將風(fēng)扇片與...
軟件設(shè)計(jì)/*----------------------------------------------------------------------實(shí)驗(yàn)內(nèi)容:USART自發(fā)自收,使用PB口的LED指示接收到的數(shù)據(jù),觀察是否與發(fā)送的數(shù)據(jù)一致。----------------------------------------------------------------------硬件連接:將MCU.RXD與MCU.TXD使用短路帽短接,將PB口的LED指示燈使能開關(guān)切換到"ON"狀態(tài)。-------------...

史海拾趣

問答坊 | AI 解惑

大家討論一下電子技術(shù)課程設(shè)計(jì)的項(xiàng)目問題

本帖最后由 paulhyde 于 2014-9-15 09:26 編輯 如題,電子技術(shù)課程設(shè)計(jì)的項(xiàng)目問題一直困擾,想分三種類型,一種就是“合格”標(biāo)準(zhǔn)的題目,一種“良好”標(biāo)準(zhǔn),一種“優(yōu)秀”標(biāo)準(zhǔn),可就是確定不了具體用什么項(xiàng)目,請(qǐng)各位大蝦支招!謝謝!  …

查看全部問答∨

一款不好找的word批量轉(zhuǎn)txt

WORD格式的文章,沒法在mp4上讀!找到一個(gè)word文檔批量轉(zhuǎn)換工具,帶注冊(cè)機(jī)的。 …

查看全部問答∨

Led 強(qiáng)大創(chuàng)意設(shè)計(jì)-有趣、時(shí)尚、另類的創(chuàng)意圖片!不可不看?。?!

replyreload += \',\' + 380871;Timson,如果您要查看本帖隱藏內(nèi)容請(qǐng)回復(fù)把480個(gè)Led燈及光學(xué)感應(yīng)器嵌在桌子里面, 只要你輕輕觸碰到桌面,就如水面一樣,會(huì)泛起led燈的漣漪效果,非常棒的效果。 LED 夾燈給夾子加上一個(gè)小小的led 燈,它的效果和功 ...…

查看全部問答∨

Marvell PXA300 開發(fā)板

售Marvell PXA300 開發(fā)板和提供PXA300方案…

查看全部問答∨

求助--About AT command

高人請(qǐng)幫忙解答一下: 1,online mode下發(fā)送+++使modem進(jìn)入command mode,此時(shí)online mode是不是被中斷了? 2,對(duì)話后收到CONNECT,是不是說明modem進(jìn)入online mode? 3,為了使modem 進(jìn)入command mode并發(fā)送想要的command, 下面的AT command 是不是有 ...…

查看全部問答∨

msp430 產(chǎn)生正弦波 DA轉(zhuǎn)換的,謝謝

msp430 產(chǎn)生正弦波 DA轉(zhuǎn)換的,謝謝…

查看全部問答∨

初學(xué)者,請(qǐng)教下430中的pringtf怎么調(diào)試呢

我用的IAR,f5438開發(fā)板下面那個(gè)printf不知道打印到哪里去了?求指點(diǎn); #include \"msp430x54x.h\" #include \"stdio.h\" //************************************************************* unsigned char *point; void main( void ) { ...…

查看全部問答∨

LPC800基于模擬比較器的∑ -Δ ADC實(shí)現(xiàn)

500PCS開發(fā)板已經(jīng)發(fā)出,為大家找些資料。 …

查看全部問答∨

關(guān)于bin文件中函數(shù)地址問題

比如說,由keil生成的bin文件。 源代碼中的函數(shù)是不是在bin文件中已經(jīng)有確定地址了,還是說等bin文件加載到內(nèi)存中以后才有的地址。 一直很疑惑這一點(diǎn),望老大給指點(diǎn)一下哈?!?

查看全部問答∨

TI又出新款LaunchPad了!

TI又出新款LaunchPad了! …

查看全部問答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved