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

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]最近幾天要用到stm32對(duì)外部輸入脈沖進(jìn)行計(jì)數(shù),很自然想到定時(shí)器,可是手上資料沒(méi)有講解stm32定時(shí)器如何用作外部計(jì)數(shù)器的,在網(wǎng)上找例程,也沒(méi)找到幾個(gè)正確的,自己硬著頭皮仔細(xì)研究參考手冊(cè),終于知道如何配置了,并

最近幾天要用到stm32對(duì)外部輸入脈沖進(jìn)行計(jì)數(shù),很自然想到定時(shí)器,可是手上資料沒(méi)有講解stm32定時(shí)器如何用作外部計(jì)數(shù)器的,在網(wǎng)上找例程,也沒(méi)找到幾個(gè)正確的,自己硬著頭皮仔細(xì)研究參考手冊(cè),終于知道如何配置了,并寫(xiě)了一個(gè)例程,希望將來(lái)對(duì)一些網(wǎng)友有用。


其實(shí)stm32通用定時(shí)器做計(jì)數(shù)器,對(duì)外部脈沖計(jì)數(shù),還是比較簡(jiǎn)單的,使用外部時(shí)鐘模式2即可輕松實(shí)現(xiàn),但要注意,這種模式下,外部輸入脈沖信號(hào)一定要接在相應(yīng)TIM的ETR引腳上,不能接在TIMx_CHy引腳上。


使用stm32定時(shí)器的外部時(shí)鐘模式2,主要就是通過(guò)配置TIMx_SMCR寄存器相應(yīng)位。步驟如下:

1. 若不需要濾波器,置TIMx_SMCR寄存器中的ETF[3:0]=0000

2. 設(shè)置預(yù)分頻,TIMx_SMCR寄存器中的ETPS[1:0]

3. 設(shè)置ETR的檢測(cè)極性,TIMx_SMCR寄存器中的ETP位

4. 開(kāi)啟外部時(shí)鐘模式2,置TIMx_SMCR寄存器中的ECE=1

5. 啟動(dòng)計(jì)數(shù)器,置TIMx_CR1寄存器中的CEN=1


我的例程是利用定時(shí)器2,定時(shí)產(chǎn)生周期1s的方波信號(hào),通過(guò)PB5(LED0)輸出,通過(guò)導(dǎo)線(xiàn)將PB5的方波信號(hào)輸入到TIMER3的ETR引腳PD2上,通過(guò)TIMER3對(duì)該方波信號(hào)計(jì)數(shù),計(jì)數(shù)次數(shù)到了之后,更改LED1的狀態(tài)。

以下程序已經(jīng)過(guò)測(cè)試,可行。


//timer2 ,定時(shí)器模式
void TIM2_Int_Init(u16 arr,u16 psc)
{
RCC->APB1ENR |= 1<<0;//TIM2時(shí)鐘使能


TIM2->ARR = arr;
TIM2->PSC = psc;


TIM2->DIER |= 1<<0;//允許更新中斷
TIM2->DIER |= 1<<6;//使能觸發(fā)中斷


MY_NVIC_Init(1,2,TIM2_IRQChannel,2);//搶占1,子優(yōu)先級(jí)2,組2


TIM2->CR1 |= 1<<0;//使能定時(shí)器

}


//定時(shí)器2中斷服務(wù)程序
void TIM2_IRQHandler(void)
{
if(TIM2->SR&0X0001)//溢出中斷
{
LED0=!LED0; //PB5,硬件連線(xiàn):將PB5連接至TIM3_ETR引腳PD2上
}
TIM2->SR&=~(1<<0);//清除中斷標(biāo)志位
}


//通用定時(shí)器3 用作外部計(jì)數(shù)器 初始化
//arr:計(jì)數(shù)自動(dòng)重裝值。
void TIM3_Int_Init(u16 arr)
{
RCC->APB2ENR|=1<<5;//開(kāi)啟GPIOD端口時(shí)鐘
GPIOD->CRL &= 0xfffff0ff;
GPIOD->CRL |= 0x00000400;//PD.2 浮空輸入


RCC->APB1ENR |= 1<<1;//使能TIM3時(shí)鐘


TIM3->ARR=arr; //設(shè)定計(jì)數(shù)器自動(dòng)重裝值
TIM3->PSC=0; //不分頻


TIM3->SMCR &= ~(0xf<<8);//無(wú)濾波
TIM3->SMCR &= ~(3<<12);//關(guān)閉預(yù)分頻
TIM3->SMCR |= 1<<15;//ETR被反相,低電平或下降沿有效
TIM3->SMCR |= 1<<14;//使能外部時(shí)鐘模式2


TIM3->DIER |= 1<<0;//允許更新中斷
TIM3->DIER |= 1<<6;//允許觸發(fā)中斷


MY_NVIC_Init(1,3,TIM3_IRQChannel,2);//搶占1,子優(yōu)先級(jí)3,組2


TIM3->CNT = 0x0;//清零計(jì)數(shù)器
TIM3->CR1 |= 1<<0;//使能定時(shí)器,開(kāi)啟計(jì)數(shù)。

}


//定時(shí)器3中斷服務(wù)程序
void TIM3_IRQHandler(void)
{
if(TIM3->SR&0X0001)//溢出中斷
{
LED1=!LED1;
}
TIM3->SR&=~(1<<0);//清除中斷標(biāo)志位
}


int main(void)
{
Stm32_Clock_Init(9);//系統(tǒng)時(shí)鐘設(shè)置
uart_init(72,9600);//串口初始化為9600
delay_init(72);//延時(shí)初始化
LED_Init(); //初始化與LED連接的硬件接口
BEEP_Init(); //初始化蜂鳴器端口
KEY_Init(); //初始化與按鍵連接的硬件接口

TIM3_Int_Init(20); //計(jì)數(shù)次數(shù)
TIM2_Int_Init(4999,7199);//時(shí)鐘周期0.1ms,計(jì)數(shù)5000次=定時(shí)0.5s

while(1);
}


實(shí)驗(yàn)結(jié)果:LED0 :1s點(diǎn)亮一次,LED1: 20s點(diǎn)亮一次。


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

在嵌入式開(kāi)發(fā)中,STM32的時(shí)鐘系統(tǒng)因其靈活性和復(fù)雜性成為開(kāi)發(fā)者關(guān)注的焦點(diǎn)。然而,看似簡(jiǎn)單的時(shí)鐘配置背后,隱藏著諸多易被忽視的陷阱,輕則導(dǎo)致系統(tǒng)不穩(wěn)定,重則引發(fā)硬件損壞。本文從時(shí)鐘源選擇、PLL配置、總線(xiàn)時(shí)鐘分配等關(guān)鍵環(huán)...

關(guān)鍵字: STM32 時(shí)鐘系統(tǒng)

在嵌入式系統(tǒng)開(kāi)發(fā)中,STM32系列微控制器的內(nèi)部溫度傳感器因其低成本、高集成度特性,廣泛應(yīng)用于設(shè)備自檢、環(huán)境監(jiān)測(cè)等場(chǎng)景。然而,受芯片工藝差異和電源噪聲影響,其原始數(shù)據(jù)存在±1.5℃的固有誤差。本文從硬件配置、校準(zhǔn)算法、軟...

關(guān)鍵字: STM32 溫度傳感器

在能源效率與智能化需求雙重驅(qū)動(dòng)下,AC-DC轉(zhuǎn)換器的數(shù)字控制技術(shù)正經(jīng)歷從傳統(tǒng)模擬方案向全數(shù)字架構(gòu)的深刻變革。基于STM32微控制器的PFM(脈沖頻率調(diào)制)+PWM(脈沖寬度調(diào)制)混合調(diào)制策略,結(jié)合動(dòng)態(tài)電壓調(diào)整(Dynam...

關(guān)鍵字: AC-DC STM32

當(dāng)前智能家居產(chǎn)品需求不斷增長(zhǎng) ,在這一背景下 ,對(duì)現(xiàn)有澆花裝置缺陷進(jìn)行了改進(jìn) ,設(shè)計(jì)出基于STM32單片機(jī)的全 自動(dòng)家用澆花機(jī)器人。該設(shè)計(jì)主要由機(jī)械結(jié)構(gòu)和控制系統(tǒng)構(gòu)成 ,機(jī)械結(jié)構(gòu)通過(guò)麥克納姆輪底盤(pán)與噴灑裝置的結(jié)合實(shí)現(xiàn)機(jī)器...

關(guān)鍵字: STM32 麥克納姆輪 安全可靠 通過(guò)性強(qiáng)

用c++編程似乎是讓你的Arduino項(xiàng)目起步的障礙嗎?您想要一種更直觀(guān)的微控制器編程方式嗎?那你需要了解一下Visuino!這個(gè)圖形化編程平臺(tái)將復(fù)雜電子項(xiàng)目的創(chuàng)建變成了拖動(dòng)和連接塊的簡(jiǎn)單任務(wù)。在本文中,我們將帶您完成使...

關(guān)鍵字: Visuino Arduino ESP32 STM32

基于STM32與LoRa技術(shù)的無(wú)線(xiàn)傳感網(wǎng)絡(luò)憑借其低功耗、廣覆蓋、抗干擾等特性,成為環(huán)境監(jiān)測(cè)、工業(yè)自動(dòng)化等場(chǎng)景的核心解決方案。然而,如何在復(fù)雜電磁環(huán)境中實(shí)現(xiàn)高效休眠調(diào)度與動(dòng)態(tài)信道優(yōu)化,成為提升網(wǎng)絡(luò)能效與可靠性的關(guān)鍵挑戰(zhàn)。本...

關(guān)鍵字: STM32 LoRa

在實(shí)時(shí)控制系統(tǒng)、高速通信協(xié)議處理及高精度數(shù)據(jù)采集等對(duì)時(shí)間敏感的應(yīng)用場(chǎng)景中,中斷響應(yīng)延遲的優(yōu)化直接決定了系統(tǒng)的可靠性與性能上限。STM32系列微控制器憑借其靈活的嵌套向量中斷控制器(NVIC)、多通道直接內(nèi)存訪(fǎng)問(wèn)(DMA)...

關(guān)鍵字: STM32 DMA

數(shù)字電源技術(shù)向高功率密度、高效率與高動(dòng)態(tài)響應(yīng)方向加速演進(jìn),STM32微控制器憑借其基于DSP庫(kù)的算法加速能力與對(duì)LLC諧振變換器的精準(zhǔn)控制架構(gòu),成為優(yōu)化電源動(dòng)態(tài)性能的核心平臺(tái)。相較于傳統(tǒng)模擬控制或通用型數(shù)字控制器,STM...

關(guān)鍵字: STM32 數(shù)字電源

STM32微控制器憑借其針對(duì)電機(jī)控制場(chǎng)景的深度優(yōu)化,成為高精度、高可靠性驅(qū)動(dòng)系統(tǒng)的核心選擇。相較于通用型MCU,STM32在電機(jī)控制領(lǐng)域的核心優(yōu)勢(shì)集中體現(xiàn)在FOC(磁場(chǎng)定向控制)算法的硬件加速引擎與PWM死區(qū)時(shí)間的動(dòng)態(tài)補(bǔ)...

關(guān)鍵字: STM32 電機(jī)控制

無(wú)線(xiàn)充電技術(shù)加速滲透消費(fèi)電子與汽車(chē)電子領(lǐng)域,基于Qi協(xié)議的無(wú)線(xiàn)充電發(fā)射端開(kāi)發(fā)成為智能設(shè)備能量補(bǔ)給的核心課題。傳統(tǒng)模擬控制方案存在響應(yīng)滯后、參數(shù)調(diào)整困難等問(wèn)題,而基于STM32的數(shù)字PID控制結(jié)合FOD(Foreign O...

關(guān)鍵字: STM32 無(wú)線(xiàn)充電
關(guān)閉