第一步:
具體配置如下圖:激活需要使用到的外設(shè)定時(shí)器,當(dāng)系統(tǒng)時(shí)鐘頻率為64MHz時(shí),我們希望1MS發(fā)生中斷一次;就可以把時(shí)鐘的預(yù)分頻系數(shù)設(shè)置為64-1;計(jì)數(shù)周期設(shè)置為1000-1;計(jì)數(shù)方式為 Up 向上計(jì)數(shù),此時(shí)得到的中斷頻率為:64,000,000 /64 /1000 = 1MS = 1Khz ;

第二步:
可以根據(jù)自身需要在NVIC 中斷控制器中配置中斷響應(yīng)優(yōu)先級(jí)。

第三步:
代碼分析:
先看TIM7的初始化函數(shù):static void MX_TIM7_Init(void)
static void MX_TIM7_Init(void)
{
/* USER CODE BEGIN TIM7_Init 0 */
/* USER CODE END TIM7_Init 0 */
TIM_MasterConfigTypeDef sMasterConfig = {0};
/* USER CODE BEGIN TIM7_Init 1 */
/* USER CODE END TIM7_Init 1 */
htim7.Instance = TIM7;
htim7.Init.Prescaler = 64-1;
htim7.Init.CounterMode = TIM_COUNTERMODE_UP;
htim7.Init.Period = 1000-1;
htim7.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
if (HAL_TIM_Base_Init(&htim7) != HAL_OK)
{
Error_Handler();
}
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
if (HAL_TIMEx_MasterConfigSynchronization(&htim7, &sMasterConfig) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN TIM7_Init 2 */
//在這這里添加這行代碼,意思是初始化完成便開(kāi)啟定時(shí)器中斷計(jì)數(shù)
HAL_TIM_Base_Start_IT(&htim7);
/* USER CODE END TIM7_Init 2 */
}
/* USER CODE BEGIN 4 */
//在BEGIN 4 中添加定時(shí)器中斷服務(wù)函數(shù)
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
if (htim->Instance == htim7.Instance) //如果是TIM7響應(yīng)進(jìn)來(lái)的中斷
{
MS ++; //前面配置中斷更新時(shí)間為1MS,那么這里進(jìn)來(lái)一次MS加一次
if(MS == 1000) //當(dāng)MS加到1000時(shí),即1S
{
HAL_GPIO_TogglePin(LED1_GPIO_Port,LED1_Pin); //即1S LED翻轉(zhuǎn)一次
MS =0; //MS用完后記得清0
}
}
}
/* USER CODE END 4 */
如果能理解到這里,恭喜你已經(jīng)學(xué)會(huì)了定時(shí)器的基本操作!
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
定時(shí)器
+關(guān)注
關(guān)注
23文章
3368瀏覽量
123604 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4417瀏覽量
67502 -
代碼
+關(guān)注
關(guān)注
30文章
4968瀏覽量
73960
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
【沁恒CH585開(kāi)發(fā)板免費(fèi)試用體驗(yàn)】定時(shí)器操作
獨(dú)立的,可以一起同步操作。
2 定時(shí)器代碼實(shí)現(xiàn)
接下來(lái)我們以通用定時(shí)器 TMR0為實(shí)例,來(lái)說(shuō)明要經(jīng)過(guò)哪些步驟,才能達(dá)到這個(gè)要求,并產(chǎn)生中斷。
2.1 定時(shí)器配置步驟
這里我們就對(duì)每個(gè)步
發(fā)表于 07-05 23:06
MM32 定時(shí)器操作
實(shí)現(xiàn)同步功能。 所有 TIMx 定時(shí)器在內(nèi)部相連,用于定時(shí)器同步或鏈接。當(dāng)一個(gè)定時(shí)器處于主模式時(shí),它可以對(duì)另一個(gè)處于從模式的定時(shí)器的計(jì)數(shù)器進(jìn)
發(fā)表于 01-04 16:56
如何計(jì)算PIC16F67中定時(shí)器操作的時(shí)間?
我在PIC16F67中使用定時(shí)器操作。我不知道該怎么計(jì)算時(shí)間。所以幫我計(jì)算一下這個(gè)IC的時(shí)間。以及如何編寫(xiě)相同的程序。
發(fā)表于 10-30 06:13
stm32進(jìn)行定時(shí)器操作的步驟
進(jìn)來(lái)。在進(jìn)行定時(shí)器操作時(shí),一般按如下步驟來(lái)進(jìn)行: 1、打開(kāi)相關(guān)外設(shè)的時(shí)鐘。以定時(shí)器TIM3為例,由stm32的時(shí)鐘樹(shù)可以看到,TIM3時(shí)鐘掛接在APB1上面,所以打開(kāi)TIM3時(shí)鐘時(shí)使用RC
發(fā)表于 08-13 06:16
軟件定時(shí)器的特點(diǎn)和原理
本文介紹了軟件定時(shí)器的特點(diǎn)和原理,并從時(shí)鐘節(jié)拍,數(shù)據(jù)結(jié)構(gòu),定時(shí)器操作等角度分析,實(shí)現(xiàn)了基于STM32的軟件定時(shí)器,該軟件定時(shí)器具有兩種模式:
發(fā)表于 08-19 08:29
89C52中斷和定時(shí)器的操作步驟
文章目錄一、中斷1.1 基本概念1.2 代碼和實(shí)驗(yàn)部分二、定時(shí)器一、中斷1.1 基本概念其實(shí)中斷的概念很好理解:試想一下你正在教室里面搞單片機(jī)(這相當(dāng)于與CPU正在執(zhí)行主程序)這時(shí),防空警報(bào)響了(一
發(fā)表于 12-02 06:42
LabVIEW編程LabVIEW開(kāi)發(fā)高級(jí)數(shù)據(jù)采集技術(shù) 計(jì)數(shù)器定時(shí)器的操作 例程與相關(guān)資料
LabVIEW編程LabVIEW開(kāi)發(fā)高級(jí)數(shù)據(jù)采集技術(shù) 計(jì)數(shù)器定時(shí)器的操作 例程與相關(guān)資料典型的多功能DAQ設(shè)備只有2個(gè)板載計(jì)數(shù)器,而智能DAQ則能在各條數(shù)字線上運(yùn)行計(jì)數(shù)
發(fā)表于 01-14 20:33
STM32單片機(jī)的基本定時(shí)器如何操作以及編程呢
STM32F1系列的產(chǎn)品,除了互聯(lián)網(wǎng)產(chǎn)品外,工作8個(gè),3種定時(shí)器,其中一種就是基本定時(shí)器。那么STM32單片機(jī)的基本定時(shí)器如何操作以及編程呢?下面我們就來(lái)詳細(xì)的了解一下STM32F1系
發(fā)表于 01-26 06:46
【CW32飯盒派開(kāi)發(fā)板試用體驗(yàn)】+定時(shí)器操作初探討
*/
}
定時(shí)器的實(shí)現(xiàn),將有助我們后面程序功能的實(shí)現(xiàn)。本次定時(shí)器操作初探討在這里就結(jié)束了,有興趣的小伙伴或者
想深入研究的小伙伴,可以多看看官方的參考代碼,實(shí)際動(dòng)手去調(diào)試。發(fā)現(xiàn)問(wèn)題,然后解決問(wèn)題,如此,才能進(jìn)步。
發(fā)表于 06-10 22:46
看門(mén)狗定時(shí)器的設(shè)計(jì)、工作原理及看門(mén)狗定時(shí)器的操作
看門(mén)狗定時(shí)器(WDT,Watch Dog Timer)是單片機(jī)的一個(gè)組成部分,它實(shí)際上是一個(gè)計(jì)數(shù)器,一般給看門(mén)狗一個(gè)數(shù)字,程序開(kāi)始運(yùn)行后看門(mén)狗開(kāi)始倒計(jì)數(shù)。如果程序運(yùn)行正常,過(guò)一段時(shí)間CPU應(yīng)發(fā)出指令讓看門(mén)狗復(fù)位,重新開(kāi)始倒計(jì)數(shù)。如果看門(mén)狗減到0就認(rèn)為程序沒(méi)有正常工作,強(qiáng)制
發(fā)表于 05-23 09:14
?8640次閱讀
看門(mén)狗定時(shí)器的原理及操作解讀
在這里T1的定時(shí)時(shí)間要設(shè)的大于主程序的運(yùn)行時(shí)間,給主程序留有一定的的裕量。而T1的中斷正常與否我們?cè)儆蒚0定時(shí)中斷子程序來(lái)監(jiān)視。這樣就夠成了一個(gè)循環(huán),T0監(jiān)視T1,T1監(jiān)視主程序,主程序又來(lái)監(jiān)視T0,從而保證系統(tǒng)的穩(wěn)定運(yùn)行。
【單片機(jī)技術(shù)】—— 89C52中斷和定時(shí)器操作1
文章目錄一、中斷1.1 基本概念1.2 代碼和實(shí)驗(yàn)部分二、定時(shí)器一、中斷1.1 基本概念其實(shí)中斷的概念很好理解:試想一下你正在教室里面搞單片機(jī)(這相當(dāng)于與CPU正在執(zhí)行主程序)這時(shí),防空警報(bào)響了(一
發(fā)表于 11-23 17:06
?11次下載
定時(shí)器的基本操作
評(píng)論