我們來看看我們的time.c文件。timer.c文件代碼如下:
//通用定時(shí)器 3中斷初始化
//arr:自動(dòng)重裝值。 psc:時(shí)鐘預(yù)分頻數(shù)
//定時(shí)器溢出時(shí)間計(jì)算方法:Tout=((arr+1)*(psc+1))/Ft us.
//Ft=定時(shí)器工作頻率,單位:Mhz
//這里使用的是定時(shí)器 3!
void TIM3_Int_Init(u16 arr,u16 psc)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE); //使能 TIM3時(shí)鐘
TIM_TimeBaseInitStructure.TIM_Period = arr; //自動(dòng)重裝載值
TIM_TimeBaseInitStructure.TIM_Prescaler=psc; //定時(shí)器分頻
TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up; //向上計(jì)數(shù)模式
TIM_TimeBaseInitStructure.TIM_ClockDivision=TIM_CKD_DIV1;
TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitStructure);// 初始化定時(shí)器TIM3
TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE); //允許定時(shí)器 3更新中斷
NVIC_InitStructure.NVIC_IRQChannel=TIM3_IRQn; //定時(shí)器 3中斷
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0x01; //搶占優(yōu)先級(jí)1
NVIC_InitStructure.NVIC_IRQChannelSubPriority=0x03; //響應(yīng)優(yōu)先級(jí) 3
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&NVIC_InitStructure);// 初始化NVIC
TIM_Cmd(TIM3,ENABLE); //使能定時(shí)器3
}
//定時(shí)器 3中斷服務(wù)函數(shù)
void TIM3_IRQHandler(void)
{
if(TIM_GetITStatus(TIM3,TIM_IT_Update)==SET) //溢出中斷
{
LED1=!LED1;
}
TIM_ClearITPendingBit(TIM3,TIM_IT_Update); //清除中斷標(biāo)志位
}
該文件下包含一個(gè)中斷服務(wù)函數(shù)和一個(gè)定時(shí)器 3 中斷初始化函數(shù),中斷服務(wù)函數(shù)比較簡(jiǎn)單,在每次中斷后,判斷 TIM3的中斷類型,如果中斷類型正確,則執(zhí)行LED1(DS1)的翻轉(zhuǎn)。 TIM3_Int_Init 函數(shù)就是執(zhí)行我們上面介紹的那 5 個(gè)步驟,使得TIM3 開始工作,并開啟中斷。這里我們分別用標(biāo)號(hào)~來標(biāo)注定時(shí)器初始化的五個(gè)步驟。該函數(shù)的 2 個(gè)參數(shù)用來設(shè)置TIM3 的溢出時(shí)間。因?yàn)橄到y(tǒng)初始化SystemInit函數(shù)里面已經(jīng)初始化APB1 的時(shí)鐘為4 分頻,所以 APB1 的時(shí)鐘為 42M,而從 STM32F4 的內(nèi)部時(shí)鐘樹圖(圖 4.3.1.1)得知:當(dāng) APB1 的時(shí)鐘分頻數(shù)為 1的時(shí)候,TIM2~7以及TIM12~14的時(shí)鐘為APB1 的時(shí)鐘,而如果APB1的時(shí)鐘分頻數(shù)不為 1,那么TIM2~7 以及 TIM12~14的時(shí)鐘頻率將為APB1時(shí)鐘的兩倍。因此,TIM3的時(shí)鐘為84M,再根據(jù)我們?cè)O(shè)計(jì)的arr和 psc的值,就可以計(jì)算中斷時(shí)間了。計(jì)算公式如下:
Tout= ((arr+1)*(psc+1))/Tclk;
其中:
Tclk:TIM3的輸入時(shí)鐘頻率(單位為Mhz)。
Tout:TIM3溢出時(shí)間(單位為 us)。
timer.h頭文件內(nèi)容比較簡(jiǎn)單,這里我們就不做講解。
最后,我們看看主函數(shù)代碼如下: :
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)置系統(tǒng)中斷優(yōu)先級(jí)分組2
delay_init(168); //初始化延時(shí)函數(shù)
LED_Init(); //初始化 LED 端口
TIM3_Int_Init(5000-1,8400-1);//定時(shí)器時(shí)鐘84M,分頻系數(shù)8400,所 以84M/8400=10Khz
//的計(jì)數(shù)頻率,計(jì)數(shù)5000次為 500ms
while(1)
{
LED0=!LED0;
delay_ms(200);//延時(shí)200ms
};
}
這里的代碼和之前大同小異,此段代碼對(duì) TIM3 進(jìn)行初始化之后,進(jìn)入死循環(huán)等待 TIM3溢出中斷,當(dāng)TIM3_CNT 的值等于 TIM3_ARR 的值的時(shí)候,就會(huì)產(chǎn)生 TIM3 的更新中斷,然后在中斷里面取反LED1,TIM3_CNT再從0 開始計(jì)數(shù)。
這里定時(shí)器定時(shí)時(shí)長(zhǎng)500ms是這樣計(jì)算出來的, 定時(shí)器的時(shí)鐘為84Mhz,分頻系數(shù)為8400,所以分頻后的計(jì)數(shù)頻率為84Mhz/8400=10KHz,然后計(jì)數(shù)到5000,所以時(shí)長(zhǎng)為5000/10000=0.5s,也就是 500ms。
上一篇:STM32f4 PWM輸出實(shí)驗(yàn)代碼
下一篇:STM32程序移植之_內(nèi)部flash開機(jī)次數(shù)管理lib庫建立
推薦閱讀
史海拾趣
Artesyn Embedded Technologies自1981年成立以來,一直致力于電源產(chǎn)品的研發(fā)與創(chuàng)新。在20世紀(jì)90年代,公司推出了一款具有突破性的精密電源產(chǎn)品,該產(chǎn)品以其高效能、低能耗的特點(diǎn)迅速在市場(chǎng)中獲得了認(rèn)可。這一成功不僅使公司獲得了更多的市場(chǎng)份額,也為后續(xù)產(chǎn)品的研發(fā)奠定了堅(jiān)實(shí)的基礎(chǔ)。
AVX一直致力于綠色技術(shù)的研發(fā)與應(yīng)用。在數(shù)十年的深入研發(fā)支持下,AVX的產(chǎn)品為各種綠色技術(shù)提供了關(guān)鍵的支持,如風(fēng)能、太陽能和水力發(fā)電等領(lǐng)域。這些技術(shù)的應(yīng)用旨在節(jié)省現(xiàn)有能源并創(chuàng)建可靠、價(jià)格合理的電子系統(tǒng),為可持續(xù)發(fā)展做出了積極貢獻(xiàn)。AVX在這一領(lǐng)域的持續(xù)投入和創(chuàng)新,使其在綠色技術(shù)領(lǐng)域取得了顯著成果。
Cellergy公司一直注重創(chuàng)新研發(fā),不斷推出新產(chǎn)品以滿足市場(chǎng)需求。在一次重要的科技展覽會(huì)上,Cellergy公司展示了一款全新的超級(jí)電容器。這款電容器采用了先進(jìn)的材料和工藝,具有更高的能量密度和更長(zhǎng)的使用壽命。這一創(chuàng)新產(chǎn)品引起了廣泛關(guān)注,為Cellergy公司贏得了眾多客戶的青睞。
隨著公司的不斷發(fā)展,Altitude Technology逐漸在電子行業(yè)中嶄露頭角。然而,市場(chǎng)競(jìng)爭(zhēng)也日趨激烈,為了保持領(lǐng)先地位,公司決定加大研發(fā)投入,致力于技術(shù)突破。經(jīng)過長(zhǎng)時(shí)間的研發(fā),Altitude Technology成功推出了一款采用最新芯片技術(shù)的智能手機(jī),這款手機(jī)在性能、功耗和拍照效果等方面均達(dá)到了行業(yè)領(lǐng)先水平,為公司贏得了更多的市場(chǎng)份額。
近年來,隨著環(huán)保意識(shí)的提高和可持續(xù)發(fā)展的理念深入人心,Excelta也積極響應(yīng)這一趨勢(shì)。公司不斷優(yōu)化生產(chǎn)工藝和材料選擇,降低產(chǎn)品對(duì)環(huán)境的影響。同時(shí),公司還積極參與環(huán)保公益活動(dòng)和社會(huì)責(zé)任項(xiàng)目,為社會(huì)和環(huán)境貢獻(xiàn)自己的力量。這一轉(zhuǎn)變不僅提升了公司的社會(huì)形象,也為公司的長(zhǎng)期發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。
隨著電子行業(yè)的不斷發(fā)展,COILCRAFT公司意識(shí)到技術(shù)創(chuàng)新是保持競(jìng)爭(zhēng)力的關(guān)鍵。于是,公司加大了對(duì)研發(fā)團(tuán)隊(duì)的投入,不斷推出新產(chǎn)品和新技術(shù)。其中,射頻芯片電感器和功率磁性元件的推出,極大地滿足了通信設(shè)備、網(wǎng)絡(luò)設(shè)備等領(lǐng)域?qū)Ω咝阅艽判栽男枨蟆4送猓珻OILCRAFT還具備定制磁性元件的能力,能夠根據(jù)客戶的精確要求進(jìn)行定制生產(chǎn),這一服務(wù)贏得了眾多客戶的青睞。
畢業(yè)設(shè)計(jì)題目《基于DS12C887的LCD時(shí)鐘顯示》 本帖最后由 paulhyde 于 2014-9-15 09:08 編輯 請(qǐng)大俠幫忙!郵箱yuda868@163.com 不勝感謝! … 查看全部問答∨ |
|
由于早期的安防工程項(xiàng)目進(jìn)入技術(shù)的門檻比較低,大部分工程人員只要經(jīng)過短期培訓(xùn),懂得接插線就可以勝任安防工程的安裝、調(diào)試工作,而技術(shù)服務(wù)則依托供應(yīng)廠家的技術(shù)培訓(xùn)或現(xiàn)場(chǎng)服務(wù)來解決。安防工程商的核心競(jìng)爭(zhēng)力還是著力于“人脈關(guān)系”的經(jīng)營,而維 ...… 查看全部問答∨ |
它主要講述通信世界的概貌,所以原名《現(xiàn)代通信全景》。這種書并不好寫,很容易類同于基礎(chǔ)教材,所以世面上很難見到。作者能挺身而出,勇敢的寫出本書,其勇氣可嘉。… 查看全部問答∨ |
我是學(xué)軟件的,現(xiàn)在是大二。現(xiàn)在想往嵌入式偏軟件方面學(xué)習(xí)。查了許多資料好像應(yīng)該是往Linux+arm9方面學(xué)習(xí)。不知道對(duì)不對(duì)。 下學(xué)期本院有操作系統(tǒng)、微機(jī)原理與接口技術(shù)、軟件工程概論、數(shù)據(jù)庫原理與實(shí)踐。 別的院有個(gè)叫《接口技術(shù)與單片 ...… 查看全部問答∨ |
|
雙擊目錄,然后就出現(xiàn)如下情況了 Data Abort: Thread=83cfe400 Proc=821267c0 \'explorer.exe\' AKY=00000011 PC=03fb8cd8(coredll.dll+0x00048cd8) RA=03e81f04(commctrl.dll+0x00041f04) BVA=0a11ffff FSR=00000003 Prefetch Abort: Thread=83 ...… 查看全部問答∨ |
關(guān)于GUI的移植問題for vxworks and wince 想做個(gè)VxWorks下的gui程序,盡管windml可以,但是操作太困難,想找個(gè)通用的庫? 因?yàn)橐郧俺绦蚴莣ince寫的,想在這個(gè)vxworks成功之后在改寫wince版本的,所以希望gui庫可以移植到wince下 高手給推薦下吧。… 查看全部問答∨ |
初學(xué)者請(qǐng)教STM32的幾個(gè)問題,望好漢們不吝賜教!! 1、ST例程N(yùn)VIC/Example2中,用TIM2、TIM3、TIM4分別實(shí)現(xiàn)1S、2S、3S的定時(shí) 周期,采用的ARR值分別為4AFH,95FH,E0FH,預(yù)分頻數(shù)都是EA5FH,更新時(shí)產(chǎn)生中斷。照我的算法,定時(shí)周期是4AFH/(36MHZ/EA5FH)=2S,TIM3,TIM4分別是3S和4S,哪里算錯(cuò)了 ...… 查看全部問答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 基于GPS自動(dòng)授時(shí)的無線智能控制器的設(shè)計(jì)
- 基于PTR2000的無線氣象信息采集系統(tǒng)設(shè)計(jì)
- Microchip推出MEC175xB系列器件,為嵌入式控制器引入硬件 抗量子攻擊能力
- 無人飛行器機(jī)載穩(wěn)定云臺(tái)控制系統(tǒng)的設(shè)計(jì)
- 匠芯創(chuàng)推出面向具身智能高性能實(shí)時(shí)處理器M7000
- 基于HW2181B的航模無線遙控通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 應(yīng)對(duì)機(jī)器人“四高”,極海推出全球首款雙核Cortex-M52 MCU G32R501
- 非道路移動(dòng)機(jī)械透射式煙度計(jì)研究與實(shí)現(xiàn)
- 基于STM32F103的角磨機(jī)開關(guān)磁阻電機(jī)控制器的設(shè)計(jì)
- 英特爾發(fā)布全新GPU,AI和工作站迎來新選擇
- 重新思考數(shù)據(jù)中心架構(gòu),推進(jìn)AI的規(guī)模化落地
- Samtec科普 | 一文入門射頻連接器
- 垂直農(nóng)業(yè)的挑戰(zhàn) | Samtec新型農(nóng)業(yè)漫談系列一
- 比克電池亮相CIBF 2025,全品類布局構(gòu)建發(fā)展“芯”引擎
- 欣旺達(dá)閃耀CIBF 2025:以閃充/固態(tài)電池/逸風(fēng)電池等五大技術(shù)矩陣,領(lǐng)航全球能源革命
- 全新智己L6要做「下一代產(chǎn)品」
- 2025《國產(chǎn)車規(guī)芯片可靠性分級(jí)目錄》全新發(fā)布,電子版對(duì)整車和零部件企業(yè)免費(fèi)開放
- 寧德時(shí)代推重卡換電標(biāo)準(zhǔn),計(jì)劃三年內(nèi)電動(dòng)化滲透率達(dá)50%
- 特斯拉FSD系統(tǒng)全球測(cè)試成功,無人駕駛技術(shù)再突破
- 報(bào)名觀看TI嵌入式主題月直播,場(chǎng)場(chǎng)精彩,好運(yùn)連連
- 免費(fèi)申請(qǐng)?jiān)囉脇福祿克Norma6000功率分析儀
- 【EEWORLD第二十六屆】2011年05月社區(qū)明星人物揭曉!
- 3月21日有獎(jiǎng)直播:ADI新一代高阻抗輸入SAR ADC的優(yōu)勢(shì)與應(yīng)用
- 最能打的國產(chǎn)芯們
- Maxim 利用nanoPower創(chuàng)新技術(shù),致力于降低系統(tǒng)的靜態(tài)功耗 看視頻答題贏好禮! 還有免費(fèi)開發(fā)板等你拿
- 第三代半導(dǎo)體如何測(cè)試 進(jìn)階技能備好了!收集能量抽好禮!
- 有獎(jiǎng)直播報(bào)名|羅姆EcoGaN™與LSI 技術(shù)
- 瑞薩電子顛覆傳統(tǒng)理念的嵌入式開發(fā)平臺(tái) Renesas Synergy™ 評(píng)估套件震撼來襲!答題即可免費(fèi)申請(qǐng)!
- 有獎(jiǎng)直播預(yù)報(bào)名|TI 新一代Sitara™ AM62處理器革新人機(jī)交互——加速邊緣AI的開發(fā)
- LM3S 系列單片機(jī)如何做到掉電檢測(cè)
- 數(shù)字模擬兼容的超寬帶
- nand flash啟動(dòng)問題
- 【平頭哥Sipeed LicheeRV 86 Panel測(cè)評(píng)】4-編譯環(huán)境搭建
- TI DSP--內(nèi)存空間的分配和指定
- AGC中頻放大器設(shè)計(jì)
- 放出PCB!硬幣大小的迷你MSP430G2553最小系統(tǒng)有人有興趣嗎?28個(gè)IO口比LaunchPad多8個(gè)
- DIY多功能STM32迷你遙控器(附工程文件,可直接做板使用)
- 請(qǐng)教LM3S9B92以太網(wǎng)控制的問題
- 這個(gè)芯片內(nèi)部結(jié)構(gòu)是啥意思,路過的大神,進(jìn)來指點(diǎn)一二,拜托!!!