下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
基于stm32計時器課設(shè)代碼基于STM32計時器的課設(shè)代碼基本上可以分為以下幾個模塊:計時器的初始化,時鐘配置,中斷處理函數(shù)和主函數(shù)。
首先是計時器的初始化。我們使用的是STM32的定時器,對應(yīng)的寄存器是TIMx。首先設(shè)置TIMx的時鐘來源,可以選擇內(nèi)部時鐘(RCC_APB1Periph_TIMx)或外部時鐘(RCC_APB2Periph_TIMx)。然后設(shè)置TIMx的預(yù)分頻值和計數(shù)周期值,用來控制計時器的頻率和溢出時間。還可以設(shè)置計時器的工作模式和觸發(fā)源,以及使能計時器。
```c
#include"stm32f10x.h"
voidTIMx_Init(void)
{
TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIMx,ENABLE);
TIM_TimeBaseStructure.TIM_Prescaler=71;//設(shè)置預(yù)分頻值,時鐘周期為1us
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;//設(shè)置計數(shù)器模式為向上計數(shù)模式
TIM_TimeBaseStructure.TIM_Period=60000;//設(shè)置計數(shù)周期,溢出時間為60ms
TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;
TIM_TimeBaseStructure.TIM_RepetitionCounter=0;
TIM_TimeBaseInit(TIMx,&TIM_TimeBaseStructure);
TIM_Cmd(TIMx,ENABLE);//使能TIMx
}
```
接下來是時鐘配置。時鐘配置需要使用STM32的RCC寄存器來控制時鐘的使能以及分頻系數(shù)的設(shè)置。首先設(shè)置主時鐘的來源和預(yù)分頻系數(shù),然后設(shè)置AHB、APB1和APB2總線的預(yù)分頻系數(shù)。最后使能相應(yīng)的時鐘。
```c
#include"stm32f10x.h"
voidRCC_Configuration(void)
{
RCC_DeInit();
RCC_HSEConfig(RCC_HSE_ON);
if(RCC_WaitForHSEStartUp()==SUCCESS)
{
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
FLASH_SetLatency(FLASH_Latency_2);
RCC_HCLKConfig(RCC_SYSCLK_Div1);
RCC_PCLK2Config(RCC_HCLK_Div1);
RCC_PCLK1Config(RCC_HCLK_Div2);
RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);
RCC_PLLCmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET);
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
while(RCC_GetSYSCLKSource()!=0x08);
}
}
```
然后是中斷處理函數(shù)。在計時器的初始化中,我們可以設(shè)置計時器的溢出中斷使能(TIM_IT_Update),并設(shè)置對應(yīng)的中斷優(yōu)先級。當(dāng)計時器溢出時,中斷函數(shù)會被調(diào)用,我們可以在中斷函數(shù)中進(jìn)行一些特定的操作,比如記錄時間、切換狀態(tài)等。
```c
#include"stm32f10x.h"
voidTIMx_IRQHandler(void)
{
if(TIM_GetITStatus(TIMx,TIM_IT_Update)!=RESET)
{
TIM_ClearITPendingBit(TIMx,TIM_IT_Update);
//執(zhí)行相關(guān)操作
}
}
```
最后是主函數(shù)。在主函數(shù)中,我們需要初始化計時器和配置時鐘,然后使能計時器的中斷并進(jìn)入主循環(huán)。
```c
#include"stm32f10x.h"
intmain(void)
{
RCC_Configuration();
TIMx_Init();
TIM_ITConfig(TIMx,TIM_IT_Update,ENABLE);//使能TIMx的溢出中斷
NVIC_InitTypeDefNVIC_InitStructure;
NVIC_InitStructure.NVIC_IRQChannel=TIMx_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&NVIC_InitStructure);
while(1)
{
//主
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《GA 874-2010警用越野突擊車》專題研究報告
- 2026年及未來5年市場數(shù)據(jù)中國燒烤料行業(yè)市場調(diào)查研究及發(fā)展趨勢預(yù)測報告
- 2026年及未來5年市場數(shù)據(jù)中國戶外廣告機(jī)行業(yè)發(fā)展監(jiān)測及投資策略研究報告
- 養(yǎng)老院醫(yī)療保健服務(wù)制度
- 2026年及未來5年市場數(shù)據(jù)中國有機(jī)面粉行業(yè)發(fā)展前景預(yù)測及投資方向研究報告
- 交通信號優(yōu)先通行制度
- 2026浦發(fā)銀行派遣員工招聘參考題庫附答案
- 2026湖北省定向武漢大學(xué)選調(diào)生招錄備考題庫附答案
- 2026湖南益陽市桃江縣中醫(yī)醫(yī)院公開招聘編外勞務(wù)派遣人員5人備考題庫附答案
- 2026甘肅銀行股份有限公司招聘校園備考題庫附答案
- 2025-2026年人教版八年級上冊歷史期末考試卷及答案
- 2026年廣西出版?zhèn)髅郊瘓F(tuán)有限公司招聘(98人)考試備考題庫附答案
- 港口碼頭建設(shè)施工方案
- 2025年蘭州新區(qū)幼兒園筆試題及答案
- 總部經(jīng)濟(jì)返稅合同范本
- 文物建筑勘查設(shè)計取費標(biāo)準(zhǔn)(2020年版)
- MSOP(測量標(biāo)準(zhǔn)作業(yè)規(guī)范)測量SOP
- 四川山體滑坡地質(zhì)勘察報告
- 青島啤酒微觀運(yùn)營
- 工程結(jié)算書(設(shè)備及安裝類)
- GB/T 19142-2016出口商品包裝通則
評論
0/150
提交評論