日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]STM32的定時器功能十分強大,有TIME1和TIME8高級定時器,TIME2~TIME5通用定時器,TIME6 和TIME7 基本定時器。 STM32的通用 TIMx (TIM2、 TIM3、 TIM4 和 TIM5)定時器功能包括:1)16 位向上、向下、向上/向下自動裝載

STM32的定時器功能十分強大,有TIME1和TIME8高級定時器,TIME2~TIME5通用定時器,TIME6 和
TIME7 基本定時器。

STM32的通用 TIMx (TIM2、 TIM3、 TIM4 和 TIM5)定時器功能包括:
1)16 位向上、向下、向上/向下自動裝載計數(shù)器( TIMx_CNT)。
2)16 位可編程(可以實時修改)預(yù)分頻器(TIMx_PSC),計數(shù)器時鐘頻率的分頻系數(shù)為 1~
65535 之間的任意數(shù)值。
3) 4 個獨立通道( TIMx_CH1~4),這些通道可以用來作為:
A.輸入捕獲
B.輸出比較
C. PWM 生成(邊緣或中間對齊模式)
D. 單脈沖模式輸出
4)可使用外部信號( TIMx_ETR)控制定時器和定時器互連(可以用 1 個定時器控制另外
一個定時器)的同步電路。
5)如下事件發(fā)生時產(chǎn)生中斷/DMA:
A.更新:計數(shù)器向上溢出/向下溢出,計數(shù)器初始化(通過軟件或者內(nèi)部/外部觸發(fā))
B.觸發(fā)事件(計數(shù)器啟動、停止、初始化或者由內(nèi)部/外部觸發(fā)計數(shù))
C.輸入捕獲
D.輸出比較
E.支持針對定位的增量(正交)編碼器和霍爾傳感器電路
F.觸發(fā)輸入作為外部時鐘或者按周期的電流管理

接下來,就是需要編寫的time.c文件:


#include"timer.h"

#include"led.h"

//通用定時器3中斷初始化

//這里時鐘選擇為APB1的2倍,而APB1為36M

//arr:自動重裝值。

//psc:時鐘預(yù)分頻數(shù)

//這里使用的是定時器3!

voidTIM3_Int_Init(u16arr,u16psc)

{

TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;

NVIC_InitTypeDefNVIC_InitStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);//①時鐘TIM3使能

//定時器TIM3初始化

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

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

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

199

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

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

TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);//③允許更新中斷

//中斷優(yōu)先級NVIC設(shè)置

NVIC_InitStructure.NVIC_IRQChannel=TIM3_IRQn;//TIM3中斷

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

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

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

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

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

}

//定時器3中斷服務(wù)程序⑥

voidTIM3_IRQHandler(void)//TIM3中斷

{

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

{

TIM_ClearITPendingBit(TIM3,TIM_IT_Update);//清除TIM3更新中斷標志

LED1=!LED1;

}

}


這里強調(diào)說明下,在做實驗的時候,程序沒有報錯,但是燒進去之后DS0和DS1一直都不亮,于是我對比原程序挨個找錯誤,最后終于找到是中斷服務(wù)函數(shù)寫錯了,IRQHandler寫成了IRQHanlder,剛開始很納悶,中斷服務(wù)函數(shù)名不是自己定義的么,寫錯個字母還有問題?其實不然,我一開始就弄錯了中斷函數(shù)是怎么運行的。。。


中斷要先初始化,然后是要使能的,也就是這一句:


TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);//允許更新中斷

使能之后會自動尋找并進入中斷服務(wù)函數(shù),也就是說中斷服務(wù)函數(shù)早在內(nèi)部就定義好了,我寫錯之后,程序已然進入中斷服務(wù)函數(shù),可是卻卡在里邊出不來了,導(dǎo)致DS1和主函數(shù)里邊的DS0都不亮。。。(注釋掉中斷使能,我的錯的中斷服務(wù)函數(shù)不變,燒錄后主函數(shù)里的DS0就亮了)



接下來就是主函數(shù):

intmain(void)

{

delay_init();//延時函數(shù)初始化

NVIC_Configuration();//設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級,2位響應(yīng)優(yōu)先級

200

uart_init(9600);//串口初始化波特率為9600

LED_Init();//LED端口初始化

TIM3_Int_Init(4999,7199);//10Khz的計數(shù)頻率,計數(shù)到5000為500ms

while(1)

{

LED0=!LED0;

delay_ms(200);

}

}

最終實驗結(jié)果DS0和DS1交替閃爍,但DS0比DS1快一倍。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉