娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年09月22日(星期日)

正在發(fā)生

2018年09月22日 | 【STM32電機(jī)方波】記錄3——TIM1時(shí)基初始化配置

發(fā)布者:Blissful567 來源: eefocus關(guān)鍵字:STM32  電機(jī)方波  TIM1  時(shí)基初始化 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

定時(shí)器分類 :
STM32F1x 系列中,除了互聯(lián)型的產(chǎn)品,共有 8 個(gè)定時(shí)器,分為基本定時(shí)器,通用定時(shí)器和高級(jí)定時(shí)器。

基本定時(shí)器 TIM6 和 TIM7 是一個(gè) 16 位的只能向上計(jì)數(shù)的定時(shí)器,只能定時(shí),沒有外部 IO。

通用定時(shí)器 TIM2/3/4/5 是一個(gè) 16 位的可以向上/下計(jì)數(shù)的定時(shí)器,可以定時(shí),可以輸出比較,可以輸入捕捉,每個(gè)定時(shí)器有四個(gè)外部 IO。

高級(jí)定時(shí)器 TIM1/8是一個(gè) 16 位的可以向上/下計(jì)數(shù)的定時(shí)器,可以定時(shí),可以輸出比較,可以輸入捕捉,還可以有三相電機(jī)互補(bǔ)輸出信號(hào),每個(gè)定時(shí)器有 8 個(gè)外部 IO。 

【STM32電機(jī)方波】記錄3——TIM1時(shí)基初始化配置



高級(jí)定時(shí)器TIM1的庫函數(shù):

【STM32電機(jī)方波】記錄3——TIM1時(shí)基初始化配置


定時(shí)器TIM1時(shí)基結(jié)構(gòu)體缺省值:

{

TIM1_Period =TIM1_Period_Reset_Mask;// 定時(shí)器周期,設(shè)定自動(dòng)重載寄存器TIMx_ARR 的值

    TIM1_Prescaler = TIM1_Prescaler_Reset_Mask;//預(yù)分頻器,設(shè)定TIMx_PSC 寄存器的值,

    TIM1_CKD =TIM1_CKD_DIV1;               // 時(shí)鐘分頻 

    TIM1_CounterMode = TIM1_CounterMode_Up; //計(jì)數(shù)模式(高級(jí)定時(shí)器有5種模式)

    TIM1_RepetitionCounter = TIM1_RepetitionCounter_Reset_Mask;//重復(fù)計(jì)數(shù)器 

}


TIM1 時(shí)基初始化及中斷子程序配置:

void TIM1_TimeBaseInit(u16 arr,u16 psc)

{

 TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; //TIM1時(shí)基結(jié)構(gòu)體

 NVIC_InitTypeDef NVIC_InitStructure;

 RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); //①時(shí)鐘 TIM1 使能

 

 TIM_TimeBaseStructure.TIM_Period = arr; //設(shè)置自動(dòng)重裝載寄存器ARR周期的值

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

 TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //設(shè)置時(shí)鐘分割

 TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM 向上計(jì)數(shù)

 TIM_TimeBaseStructure.TIM_RepetitionCounter=0; //計(jì)數(shù)頻率為72MHz

 TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); //②初始化 TIM1

 TIM_ITConfig(TIM1,TIM_IT_Update,ENABLE ); //③允許更新中斷  //中斷優(yōu)先級(jí) NVIC 設(shè)置

 

 NVIC_InitStructure.NVIC_IRQChannel = TIM1_UP_IRQn; //TIM1 中斷

 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //先占優(yōu)先級(jí) 1 級(jí)

 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3; //從優(yōu)先級(jí) 3 級(jí)

 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ 通道被使能

 NVIC_Init(&NVIC_InitStructure); //④初始化 NVIC 寄存器


 TIM_Cmd(TIM1, ENABLE); //⑤使能 TIM1

}

void TIM1_IRQHandler(void) //TIM1 中斷

{

    if (TIM_GetITStatus(TIM1, TIM_IT_Update) != RESET) //檢查 TIM1 更新中斷發(fā)生與否

   {

      TIM_ClearFlag(TIM1, TIM_IT_Update ); //清除 TIM1 更新中斷標(biāo)志

        ………………………………………………………………

    }

}

發(fā)生中斷時(shí)間=(TIM_Prescaler+1)* (TIM_Period+1)/FLK


基本定時(shí)器的核心是時(shí)基,通用計(jì)時(shí)器和高級(jí)定時(shí)器也有。 對(duì)于高級(jí)定時(shí)器TIM1 來說:

1、時(shí)鐘源 

定時(shí)器時(shí)鐘TIMxCLK,即內(nèi)部時(shí)鐘CK_INT,經(jīng)APB2預(yù)分頻器后分頻提供,如果APB2 預(yù)分頻系數(shù)等于 1,則頻率不變,否則頻率乘以 2,庫函數(shù)中 APB2 預(yù)分頻的系數(shù)是 2,即 PCLK2=36M,所以定時(shí)器時(shí)鐘 TIMxCLK=36*2=72M 。 

2、計(jì)數(shù)器時(shí)鐘 

定時(shí)器時(shí)鐘經(jīng)過 PSC 預(yù)分頻器之后,即 CK_CNT,用來驅(qū)動(dòng)計(jì)數(shù)器計(jì)數(shù)。PSC 是一個(gè)16 位的預(yù)分頻器,可以對(duì)定時(shí)器時(shí)鐘 TIMxCLK 進(jìn)行 1~65536 之間的任何一個(gè)數(shù)進(jìn)行分頻。 

具體計(jì)算方式為:CK_CNT=TIMxCLK/(PSC+1)。 

3.計(jì)數(shù)器 

計(jì)數(shù)器 CNT 是一個(gè) 16 位的計(jì)數(shù)器,只能往上計(jì)數(shù),最大計(jì)數(shù)值為 65535。當(dāng)計(jì)數(shù)達(dá)到自動(dòng)重裝載寄存器的時(shí)候產(chǎn)生更新事件,并清零從頭開始計(jì)數(shù)。 

4、自動(dòng)重裝載寄存器 

自動(dòng)重裝載寄存器 ARR 是一個(gè) 16 位的寄存器,這里面裝著計(jì)數(shù)器能計(jì)數(shù)的最大數(shù)值。當(dāng)計(jì)數(shù)到這個(gè)值的時(shí)候,如果使能了中斷的話,定時(shí)器就產(chǎn)生溢出中斷。 

5. 定時(shí)時(shí)間的計(jì)算 

定時(shí)器的定時(shí)時(shí)間等于計(jì)數(shù)器的中斷周期乘以中斷的次數(shù)。計(jì)數(shù)器在 CK_CNT 的驅(qū)動(dòng)下,計(jì)一個(gè)數(shù)的時(shí)間則是 CK_CLK 的倒數(shù),等于:1/(TIMxCLK/(PSC+1)),產(chǎn)生一次中斷的時(shí)間則等于:1/(CK_CLK * ARR)。如果在中斷服務(wù)程序里面設(shè)置一個(gè)變量 time,用來記錄中斷的次數(shù),那么就可以計(jì)算出我們需要的定時(shí)時(shí)間等于: 1/CK_CLK *(ARR+1)*time。 



BLCD電機(jī)的起動(dòng):

按下功能鍵,令高級(jí)定時(shí)器TIM1 輸出 PWM 方波、進(jìn)入TIM1中斷,通過兩相通電法測定初始狀態(tài)的電機(jī)。具體的操作是給任意兩相通電,并控制電機(jī)電流不致過大,啟動(dòng)電機(jī)做一次換向,通電一段時(shí)間后,轉(zhuǎn)子就會(huì)轉(zhuǎn)到與該通電狀態(tài)對(duì)應(yīng)的預(yù)知位置,完成轉(zhuǎn)子的定位

PWM輸出:

PWM的配置在其結(jié)構(gòu)體 TIM_Period(周期設(shè)定)、TIM_Prescaler(分頻)、TIM_OCMode(輸出模式)、TIM_OutputNState(互補(bǔ)輸出狀態(tài))、TIM_Pulse(捕獲比較器的值,即設(shè)定PWM的占空比)等的配置。另外對(duì)于BLDC來說,PWM波形使用TIM1產(chǎn)生,1、2、3三個(gè)通道產(chǎn)生3路PWM驅(qū)動(dòng)六個(gè)MOSFET,4通道用于ADC采樣,而ADC1掃描3個(gè)通道獲取反電動(dòng)勢,其掃描結(jié)果由DMA傳輸。


關(guān)鍵字:STM32  電機(jī)方波  TIM1  時(shí)基初始化 引用地址:【STM32電機(jī)方波】記錄3——TIM1時(shí)基初始化配置

上一篇:【STM32電機(jī)方波】記錄4——PWM輸出配置
下一篇:【STM32電機(jī)方波】記錄2——NVIC中斷基本設(shè)置

推薦閱讀

據(jù)外媒報(bào)道,特斯拉于上月與美國聯(lián)邦通信委員會(huì)(FCC)遞交申請,期望應(yīng)用新款密鑰卡。近日,F(xiàn)CC發(fā)布了新款密鑰卡產(chǎn)品的照片,該產(chǎn)品適用于特斯拉Model 3車型。目前,蘋果版及安卓版特斯拉應(yīng)用可被用于解鎖Model S和Model X的車門,但用戶通常將密鑰卡視為常規(guī)的車門解鎖工具,因?yàn)樘厮估瓚?yīng)用解鎖需要用到手機(jī)(部分用戶嫌麻煩)。而Model 3車主就相對(duì)...
說到汽車的安全氣囊,每一位朋友應(yīng)該都再熟悉不過了,它能夠在車輛發(fā)生碰撞時(shí)對(duì)車內(nèi)乘員進(jìn)行保護(hù),有效降低對(duì)人員造成的傷害。不過目前車上搭載的氣囊都是安裝在車內(nèi),今天我們要說的這款氣囊就有很大的不同,它直接安裝在車輛的側(cè)面外部,而且并不是傳統(tǒng)的被動(dòng)式的展開方式,而是通過感應(yīng)側(cè)面的障礙物,主動(dòng)彈出,以此來減緩側(cè)面撞擊產(chǎn)生的沖擊力,進(jìn)而減...
  隨著嵌入式行業(yè)硬件平臺(tái)的性能增強(qiáng),項(xiàng)目需求和功能日益復(fù)雜,ARM公司推出的 CORTEX-M3,更是讓以往做單片機(jī)的工程師在芯片和技術(shù)選型面臨兩難選擇,本專題將從芯片價(jià)格、整個(gè)系統(tǒng)的硬件軟件設(shè)計(jì)及維護(hù)的成本等各個(gè)方面給您提供一個(gè)參考, 并從技術(shù)角度分析單片機(jī)和帶操作系統(tǒng)的系統(tǒng)的軟件開發(fā)的異同點(diǎn)。  ● 1.單片機(jī)與ARM等新處理器的價(jià)格比較...
隨著變頻器技術(shù)的快速發(fā)展,變頻調(diào)速技術(shù)在各種電機(jī)應(yīng)用方案中已成主流。通用變頻器在工業(yè)領(lǐng)域的應(yīng)用為企業(yè)大大的節(jié)約了資源,降低了企業(yè)的成本,保護(hù)了生產(chǎn)設(shè)備。那么企業(yè)該怎么選擇合適的通用變頻器的呢?正確選用變頻器對(duì)于機(jī)械設(shè)備的傳動(dòng)控制系統(tǒng)的正常運(yùn)行時(shí)非常重要的,避免因選型錯(cuò)誤,引發(fā)設(shè)備故障,造成不必要的損失。首先應(yīng)明確選用變頻器的目的...

史海拾趣

問答坊 | AI 解惑

免費(fèi)樣片申請全集(全網(wǎng)最全最有效)

1、推薦鐵電存儲(chǔ)器(未見量的限制,據(jù)說最多有人申請了100片,不知真假.) 介紹:鐵電存儲(chǔ)器(FRAM)產(chǎn)品將ROM的非易失性數(shù)據(jù)存儲(chǔ)特性和RAM的無限次讀寫、高速讀寫以及低功耗等優(yōu)勢結(jié)合在一起。FRAM產(chǎn)品包括各種接口和多種密度,像工業(yè)標(biāo)準(zhǔn)的串行和 ...…

查看全部問答∨

問一下ADCSequenceDataGetData()獲取數(shù)據(jù)的順序

  我的理解判斷是否采樣完成用ADCIntStatus()函數(shù),而這個(gè)函數(shù)的中斷狀態(tài)由 ADCSequenceStepConfigure ()來配置。 問題是這樣的 ADCSequenceConfigure(ADC_BASE,0,ADC_TRIGGER_PROCESSOR,0);//配置ADC,基準(zhǔn)源是處理器發(fā)生 ADCSequen ...…

查看全部問答∨

LC測量小工具工作進(jìn)展中(持續(xù)更新中)

       剛剛用老師的示波器測試了一下我用555焊接的信號(hào)源哈哈哈很好用,頻率范圍在4.2kHz~~612kHz左右,手頭沒有相機(jī)就不上傳照片了,告訴大家一聲我有進(jìn)展了嘿嘿,你們別急啊,馬上追上你們了 [ 本帖 ...…

查看全部問答∨

stm8tim1cc3配置為俘獲輸入cc4比較輸出

各位求助:   我用stm8的time1,其中CC3配置為俘獲輸入(遙控碼接受),CC4配置為PWM輸出,結(jié)果只要寫入ARRH,ARRL時(shí),就只能輸出PWM,遙控碼不能接收, 好像時(shí)基改變了,俘獲值不對(duì),無法識(shí)別遙控碼: 程序如下: //TIM1_CC1用做 ...…

查看全部問答∨

STM8能捕獲的最高頻率

本人新手。 自己在做捕獲的小實(shí)驗(yàn),發(fā)現(xiàn)輸入頻率1M就不行了,512K是可以的。 用的內(nèi)置振蕩器,16M,8個(gè)周期更新一次。 1M信號(hào)輸入,連捕獲的中斷都進(jìn)不去了。 是不是捕獲本身執(zhí)行就需要一些時(shí)間啊,比如說us級(jí)的。…

查看全部問答∨

UART問題

#include <msp430x14x.h> void Init(void); unsigned char j,count; #define Address 0x01 //地址 void main(void) { WDTCTL = WDTPW + WDTHOLD; Init(); _EINT(); while(1); } void Init(void) { UCTL0&=~SWRST; ...…

查看全部問答∨

CMOS ov7221采集圖像的范圍很小

  好不容易自己改寫了一個(gè)ov7221的驅(qū)動(dòng),采集圖像成功,可是圖不是很清晰,不知是否與像素30W有關(guān)~ 關(guān)鍵問題是  攝像頭的視角很小,只能照到老遠(yuǎn)的東西,顯示的圖像特別大,內(nèi)容只有一丁點(diǎn),   想進(jìn)行一些縮放,不知道哪里進(jìn) ...…

查看全部問答∨

怎么使2812的FSX頻率和CLKX頻率不同步

各位大蝦,請問怎么使2812的FSX頻率和CLKX頻率不同步,我現(xiàn)在能夠調(diào)出FSX頻率,但是CLKX頻率與FSX頻率一直同步,就是同升同降。可是所需的芯片要求他們兩個(gè)不同步,該怎么設(shè)置呢?謝謝各位了!!…

查看全部問答∨

求助啊!!!真心不明白~~~

                                       ...…

查看全部問答∨
小廣播
設(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
主站蜘蛛池模板: 九江县| 泉州市| 温宿县| 左权县| 陈巴尔虎旗| 麻江县| 景泰县| 壤塘县| 翁源县| 仁怀市| 晋州市| 崇礼县| 凤山市| 南丹县| 阿鲁科尔沁旗| 孙吴县| 台南市| 什邡市| 友谊县| 新源县| 徐闻县| 来凤县| 鞍山市| 旺苍县| 黄龙县| 安徽省| 广东省| 河东区| 渑池县| 英吉沙县| 宣汉县| 高邑县| 原阳县| 皮山县| 长兴县| 旺苍县| 修文县| 高邑县| 平谷区| 辛集市| 丰宁|