定時(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。
高級(jí)定時(shí)器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傳輸。
上一篇:【STM32電機(jī)方波】記錄4——PWM輸出配置
下一篇:【STM32電機(jī)方波】記錄2——NVIC中斷基本設(shè)置
推薦閱讀
史海拾趣
作為一家有著高度社會(huì)責(zé)任感的企業(yè),Don Connex Electronics在發(fā)展的同時(shí)不忘回饋社會(huì)。公司積極參與扶貧、助學(xué)等公益活動(dòng),為貧困地區(qū)的教育事業(yè)和經(jīng)濟(jì)發(fā)展做出了積極貢獻(xiàn)。此外,公司還關(guān)注員工的成長和發(fā)展,為員工提供豐富的培訓(xùn)機(jī)會(huì)和廣闊的發(fā)展空間。這些舉措不僅增強(qiáng)了企業(yè)的凝聚力,也提升了企業(yè)的社會(huì)形象。
隨著國內(nèi)市場的逐漸飽和,Don Connex Electronics開始尋求海外市場的拓展。公司組建了一支專業(yè)的國際市場團(tuán)隊(duì),積極參加國際電子展會(huì),與國際客戶建立聯(lián)系。通過不斷努力,公司成功打入歐洲和北美市場,并與多家國際知名企業(yè)建立了長期合作關(guān)系。這一舉措不僅提升了公司的品牌影響力,也極大地促進(jìn)了公司的銷售業(yè)績。
隨著全球經(jīng)濟(jì)的一體化,HBControls開始實(shí)施全球化戰(zhàn)略,以拓展更廣闊的市場空間。公司首先在歐洲設(shè)立了分支機(jī)構(gòu),隨后又在美國、亞洲等地建立了銷售網(wǎng)絡(luò)。通過參加國際展會(huì)、與當(dāng)?shù)仄髽I(yè)建立合作關(guān)系等方式,HBControls的產(chǎn)品逐漸走向全球。同時(shí),公司還積極引進(jìn)國際先進(jìn)的管理理念和技術(shù),不斷提升自身的綜合競爭力。全球化戰(zhàn)略的實(shí)施為HBControls帶來了更多的市場機(jī)遇和發(fā)展空間。
隨著全球汽車產(chǎn)業(yè)的不斷發(fā)展,國際合作已成為企業(yè)拓展市場、提升競爭力的重要途徑。菲斯克也深刻認(rèn)識(shí)到了這一點(diǎn),積極尋求與全球各地的汽車制造商和供應(yīng)商建立合作關(guān)系。通過與國際巨頭的合作,菲斯克不僅獲得了先進(jìn)的技術(shù)和管理經(jīng)驗(yàn),還成功進(jìn)入了多個(gè)國際市場,實(shí)現(xiàn)了全球布局的目標(biāo)。這一系列的國際合作不僅提升了公司的知名度和影響力,還為公司的長期發(fā)展提供了有力的支持。
為了進(jìn)一步提升品牌影響力和市場競爭力,驊訊積極尋求與知名品牌的合作。通過與音頻市場上的主要品牌建立合作關(guān)系,驊訊成功將其先進(jìn)的音頻技術(shù)應(yīng)用于各種音頻產(chǎn)品中,為消費(fèi)者帶來了更為優(yōu)質(zhì)的音頻體驗(yàn)。這種合作模式不僅促進(jìn)了驊訊技術(shù)的推廣和應(yīng)用,也為其帶來了更為廣闊的市場空間。
第四屆圖形化系統(tǒng)設(shè)計(jì)巡回研討會(huì) 活動(dòng)時(shí)間/地點(diǎn): 2010/04/06 14:00 無錫 無錫萬怡酒店2樓會(huì)議中心(無錫中山路335號(hào)) 2010/04/07 14:00 南京 南京中山大廈四樓友誼廳(南京中山路200號(hào)) 2010/04/13 14:00 武漢 武漢湖濱花園酒店3樓多功能廳(武 ...… 查看全部問答∨ |
要實(shí)現(xiàn)的是,通過計(jì)算機(jī)vb編程,對(duì)K6220恒流源進(jìn)行控制。 K6220恒流源經(jīng)由ieee488接口,連接到計(jì)算機(jī)上的pci-1670數(shù)據(jù)采集卡(研華工控出產(chǎn)),計(jì)算機(jī)上已經(jīng)安裝pci-1670的驅(qū)動(dòng)。 編程對(duì)k6220進(jìn)行控制時(shí)出現(xiàn)錯(cuò)誤。 舉例: 對(duì)6220進(jìn)行初始化 ...… 查看全部問答∨ |
在一條指令或數(shù)據(jù)還沒發(fā)送前,我做了個(gè)小程序去測試忙信號(hào),居然是忙,是不是很奇怪,會(huì)不會(huì)壞了? 我的程序沒有問題的。硬件連接也沒問題的。 … 查看全部問答∨ |
t6963c 認(rèn)可的高電平,最小為0.7Vdd = 3.5v ,應(yīng)該怎樣才能兼容呢? 有沒有人用過,能不能給格接線圖看看… 查看全部問答∨ |
mini 2440 ADC中斷的奇怪問題??!請(qǐng)教一下大家! 最近在學(xué)習(xí)MINI2440的ADC功能,發(fā)現(xiàn)在ADC中斷函數(shù)設(shè)置斷點(diǎn)調(diào)試,程序不進(jìn)ADC中斷函數(shù)!!程序如下:void ADC_Init(void){ rADCCON |=(1<<14)|(49<<6)|(0 ...… 查看全部問答∨ |
【設(shè)計(jì)工具】 較全的FPGA學(xué)習(xí)資料 800Mbps準(zhǔn)循環(huán)LDPC碼編碼器的FPGA實(shí)現(xiàn)CCSDS星載圖像壓縮模塊的FPGA設(shè)計(jì)與實(shí)現(xiàn)FPGA和Nios_軟核的語音識(shí)別系統(tǒng)的研究RC4加密算法的FPGA設(shè)計(jì)與實(shí)現(xiàn)多FPGA系統(tǒng)中自定義高速串行數(shù)據(jù)接口設(shè)計(jì)高速專用GFP處理器的FPGA實(shí)現(xiàn)基于DSP與FPGA的運(yùn)動(dòng)控制器設(shè)計(jì)基 ...… 查看全部問答∨ |
最近,覺得,其實(shí)現(xiàn)在對(duì)于編程,我已經(jīng)不太需要太過于糾結(jié)語法了,雖然自己還是個(gè)新手,但我的意思是,我現(xiàn)階段更重要的是 學(xué)習(xí) 編程思路。所以,我開始找這方面的資料看,首先是搜索 軟件工程思想,找到一本經(jīng)典大書,剛下好還沒開始看: 代碼大全 ...… 查看全部問答∨ |
想寫一個(gè)430串口通訊的上位機(jī).......求科普用哪種語言? 本帖最后由 huixianfxt 于 2014-1-13 10:07 編輯 功能就是PC接受串口傳送的數(shù)據(jù),將這些數(shù)據(jù)在PC機(jī)上打點(diǎn)顯示圖像(也就是一條變化的曲線)。寫上位機(jī)應(yīng)該用C++還是VB呢還是C#呢,聲明一點(diǎn)本人這幾門語言都沒學(xué)過,只有c語言基礎(chǔ),試問用哪一種語 ...… 查看全部問答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 如何計(jì)算單片機(jī)的波特率
- STM32單片機(jī)優(yōu)先級(jí)的定義
- 如何采用STM32單片機(jī)實(shí)現(xiàn)IAP功能
- STM32單片機(jī)對(duì)NAND Flash的讀寫以及在ASF中的使用
- STM32單片機(jī)SysTick系統(tǒng)滴答功能解析
- STM32單片機(jī)定時(shí)器的時(shí)鐘源設(shè)置
- STM32單片機(jī)PID算法的原則及應(yīng)用方法
- 如何采用STM32單片機(jī)中斷向量控制器NVIC來分配優(yōu)先級(jí)的數(shù)量
- STM32單片機(jī)固件庫建立工程的方法及步驟
- 中國研究人員發(fā)明全新動(dòng)作好奇心算法 增強(qiáng)不確定環(huán)境下的自主導(dǎo)航
- 技術(shù)解析|沃爾沃XC70超級(jí)混動(dòng)有什么亮點(diǎn)?
- 小米汽車:磁吸物理按鍵已接入米家,可通過APP操控
- 專家專論 | 顧劍民:L2級(jí)輔助駕駛激光雷達(dá)“價(jià)格歸零”
- 近一個(gè)月投資五家!京東密集落子具身智能機(jī)器人賽道
- 海外動(dòng)力電池裝車量TOP10:3家落榜 一新上榜中企暴增逾10倍
- 吉利汽車:全域AI守護(hù)輔助駕駛安全
- 松下汽車系統(tǒng)與VicOne深化合作 共拓新一代智能座艙系統(tǒng)安全創(chuàng)新
- 汽車MCU的“芯”浪潮
- 具身智能如何大規(guī)模推廣?丨具身智能機(jī)器人高質(zhì)量發(fā)展
- 半導(dǎo)體品牌知名度問卷調(diào)查
- 逛村田在線云展廳,看干貨,闖關(guān)贏好禮!
- 參與WEBENCH設(shè)計(jì)大賽,輕松體驗(yàn)設(shè)計(jì)真諦!
- TI 最新電容式觸控套件,免費(fèi)嘗鮮中
- 直播已結(jié)束|TI 嵌入式直播周帶您直擊工業(yè)應(yīng)用
- EEWorld下載中心大批技術(shù)資料等你來領(lǐng),還有好禮相助
- 有獎(jiǎng)直播|TI DLP® 技術(shù)在AR HUD及車內(nèi)顯示應(yīng)用的展望
- 【已結(jié)束】R&S 直播【PCI Express Gen 3 一致性測試(含demo演示)】
- DigiKey 應(yīng)用探索站 | 電源解決方案和技術(shù)第三趴
- MIT研制獵豹3號(hào)機(jī)器狗 可以輕松爬樓梯
- 無人機(jī)攜炸彈襲擊委總統(tǒng) 誰干的
- 帶上手機(jī)去旅行 暑期出行必備拍照手機(jī)推薦
- 要買諾基亞的大香蕉?看完這5條問答再說
- 華為保時(shí)捷設(shè)計(jì)手機(jī)的前世今生
- 特斯拉實(shí)現(xiàn)新里程碑,全球充電樁已達(dá)2萬多個(gè)
- 伍爾特電子全新溫度傳感器IC,小巧、準(zhǔn)確,用途廣
- 擋風(fēng)玻璃后安裝的的激光雷達(dá),為自動(dòng)駕駛車供實(shí)時(shí)3D地圖
- 輔助電源方案適用于汽車功能電子化
- 展銳新推出智能座艙芯片A7862+車規(guī)級(jí)高精度雙頻定位芯片A2395