娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年10月09日(星期三)

正在發(fā)生

2019年10月09日 | stm32 定時(shí)器5輸入捕獲

發(fā)布者:少年不識愁滋味 來源: eefocus關(guān)鍵字:stm32  定時(shí)器5  輸入捕獲 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

timer.h


#ifndef _TIM5SANP_H
#define _TIM5SANP_H
#include "sys.h"


void TIM14_PWM_Init(u32 arr,u32 psc);
void TIM5_CH1_Cap_Init(u32 arr,u16 psc);
#endif


timer.c

#include "timer.h"

TIM_ICInitTypeDef TIM5_ICInitStructre;

void TIM5_CH1_Cap_Init(u32 arr,u16 psc)
{
GPIO_InitTypeDef GPIO_InitStructure;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5,ENABLE);//TIM5時(shí)鐘使能
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);//GPIOA時(shí)鐘使能

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_DOWN;
GPIO_Init(GPIOA,&GPIO_InitStructure);

GPIO_PinAFConfig(GPIOA,GPIO_PinSource0,GPIO_AF_TIM5); //PA0復(fù)用tim5

TIM_TimeBaseStructure.TIM_Prescaler=psc; //定時(shí)器分頻
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; //向上計(jì)數(shù)模式
TIM_TimeBaseStructure.TIM_Period=arr; //自動重裝載值
TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; //配置輸入分頻,不分頻
TIM_TimeBaseInit(TIM5,&TIM_TimeBaseStructure); //


//#define TIM_Channel_1                    ((uint16_t)0x0000)
//
//#define TIM_ICSelection_DirectTI           ((uint16_t)0x0001)   
        // TIM Input 1, 2, 3 or 4 is selected to be  connected to IC1, IC2, IC3 or IC4, respectively 
//TIM5_CCMR1寄存器
//位 1:0 CC1S:捕獲/比較 1 選擇 (Capture/Compare 1 selection)
//此位域定義通道方向(輸入/輸出)以及所使用的輸入。
//00: CC1 通道配置為輸出。
//01: CC1 通道配置為輸入, IC1 映射到 TI1 上。
//書本178頁 或中文參考434頁
TIM5_ICInitStructre.TIM_Channel=TIM_Channel_1; //選擇輸入端IC1映射到TI1
TIM5_ICInitStructre.TIM_ICPolarity=TIM_ICPolarity_Rising; //上升沿捕獲
TIM5_ICInitStructre.TIM_ICSelection=TIM_ICSelection_DirectTI;//映射到TI1上
TIM5_ICInitStructre.TIM_ICPrescaler=TIM_ICPSC_DIV1; //配置輸入分頻,不分頻
TIM5_ICInitStructre.TIM_ICFilter=0x00; //配置輸入濾波器不濾波
TIM_ICInit(TIM5,&TIM5_ICInitStructre); //初始化TIM5輸入捕獲參數(shù)

TIM_ITConfig(TIM5,TIM_IT_Update|TIM_IT_CC1,ENABLE); //允許更新和捕獲中斷
TIM_Cmd(TIM5,ENABLE); //使能定時(shí)器5

NVIC_InitStructure.NVIC_IRQChannel=TIM5_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;
NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&NVIC_InitStructure);


}


//捕獲狀態(tài)
//[7]:0,沒有成功的捕獲,1,成功捕獲到1次
//[6]:0,還沒捕獲到低電平;1,已經(jīng)捕獲到低電平了
//[5:0]:捕獲低電平后溢出的次數(shù)(對于32位定時(shí)器來說,1us計(jì)數(shù)器加1,溢出時(shí)間:4294s)
u8 TIM5CH1_CAPTURE_STA=0;//輸入捕獲狀態(tài)
u32 TIM5CH1_CAPTURE_VAL; //輸入捕獲值(TIM2/TIM5是32位)


//定時(shí)器5中斷服務(wù)程序
void TIM5_IRQHandler(void)
{
if((TIM5CH1_CAPTURE_STA & 0x80)==0) //還未成功捕獲
{
if(TIM_GetITStatus(TIM5,TIM_IT_Update) != RESET)//溢出
{
if(TIM5CH1_CAPTURE_STA & 0x40) //已經(jīng)捕獲到高電平
{
if((TIM5CH1_CAPTURE_STA & 0X3F)==0X3F) //高電平太長了
{
TIM5CH1_CAPTURE_STA |= 0X80; //標(biāo)記成功捕獲了一次
TIM5CH1_CAPTURE_VAL=0XFFFFFFFF;
}
else
TIM5CH1_CAPTURE_STA++;

}
}

if(TIM_GetITStatus(TIM5,TIM_IT_CC1) != RESET) //捕獲1發(fā)生捕獲事件
{
if(TIM5CH1_CAPTURE_STA & 0x40) //捕獲到一個(gè)下降下沿
{
TIM5CH1_CAPTURE_STA |= 0X80; //標(biāo)記成功捕獲了一次高電平脈寬
TIM5CH1_CAPTURE_VAL=TIM_GetCapture1(TIM5);//獲取當(dāng)前的捕獲值
TIM_OC1PolarityConfig(TIM5,TIM_ICPolarity_Rising);//設(shè)置上升沿捕獲
}
else //還未開始,第一次捕獲了上升沿
{
TIM5CH1_CAPTURE_STA=0; //清空
TIM5CH1_CAPTURE_VAL=0;
TIM5CH1_CAPTURE_STA |=0x40; //標(biāo)記捕獲了上升沿
TIM_Cmd(TIM5,ENABLE); 
TIM_SetCounter(TIM5,0); //計(jì)數(shù)器清空
TIM_OC1PolarityConfig(TIM5,TIM_ICPolarity_Falling); //設(shè)置下降沿捕獲
TIM_Cmd(TIM5,ENABLE); //使能定時(shí)器5

}

}

}

TIM_ClearITPendingBit(TIM5,TIM_IT_CC1|TIM_IT_Update); //清除中斷標(biāo)志位
}


/*
程序思路:
TIM5CH1_CAPTURE_STA:用來記錄捕獲狀態(tài)
TIM5CH1_CAPTURE_STA=0x40  第7位為1說明捕獲到高電平
TIM5CH1_CAPTURE_STA的bit7 第8位為1說明捕獲完成了
TIM5CH1_CAPTURE_STA的[5:0]是記錄溢出次數(shù)


第一次進(jìn)入中斷
開始時(shí)TIM5CH1_CAPTURE_STA=0;必然會進(jìn)入這個(gè)if
if((TIM5CH1_CAPTURE_STA & 0x80)==0) 
1.如果在捕獲到高電平前溢出了,則溢出部份不處理
2.如果在捕獲高電平之后TIM5CH1_CAPTURE_STA++;


如果捕獲1發(fā)生捕獲事件,計(jì)數(shù)器清0,TIM5CH1_CAPTURE_STA=0x40 (0100 0000),改成下降沿捕獲




第N次進(jìn)入中斷
如果前面已經(jīng)捕獲了上升沿,
TIM5CH1_CAPTURE_STA |= 0X80; //標(biāo)記成功捕獲了一次高電平脈寬
TIM5CH1_CAPTURE_VAL=TIM_GetCapture1(TIM5);//獲取當(dāng)前的捕獲值
TIM_OC1PolarityConfig(TIM5,TIM_ICPolarity_Rising);//設(shè)置上升沿捕獲

*/


main.c

#include "sys.h"
#include "delay.h"
#include "timer.h"
#include "usart.h"


extern u8 TIM5CH1_CAPTURE_STA;//輸入捕獲狀態(tài)
extern u32 TIM5CH1_CAPTURE_VAL; //輸入捕獲值(TIM2/TIM5是32位)


int main(void)

//long long是屬于int型, 一般來講, 是long int型大小的兩倍, int型的4倍.
long long temp=0;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
delay_init(168);
uart_init(115200);
TIM5_CH1_Cap_Init(0XFFFFFFFF,84-1);
//84Mhz 84分頻為1Mhz 一個(gè)周期是1us
//自動重裝載值取到最大2的32次方-1  約4294.96秒才會溢出
while(1)
{
if(TIM5CH1_CAPTURE_STA & 0x80)
{
temp=TIM5CH1_CAPTURE_STA & 0x3f;//取到溢出次數(shù)通常為0因?yàn)楹苌儆心艹?294.96秒
temp *=0XFFFFFFFF; //溢出一次時(shí)間加上0XFFFFFFFF us
temp +=TIM5CH1_CAPTURE_VAL; //得到總的高電平時(shí)間和 一次剛好是1us
printf("高電平的時(shí)間為:%lld us rn",temp);
TIM5CH1_CAPTURE_STA=0;//下一次捕獲開啟
}

}
}


關(guān)鍵字:stm32  定時(shí)器5  輸入捕獲 引用地址:stm32 定時(shí)器5輸入捕獲

上一篇:STM32 讀寫保護(hù)功能及設(shè)置
下一篇:stm32 time4 pwm

推薦閱讀

? ? ? ? 10月9日午間消息,近日,新浪科技發(fā)現(xiàn),子彈短信App已在蘋果App Store應(yīng)用商店下架?,F(xiàn)在在App Store中搜索已經(jīng)無子彈短信任何信息,已下載過的用戶點(diǎn)擊下載時(shí)提示,此項(xiàng)目已不再提供。
今天國內(nèi)知名手機(jī)跑分軟件安兔兔曝光了魅族16T的跑分情況。 安兔兔稱魅族16T的總成績?yōu)?18909分,CPU、GPU、MEM以及UX分?jǐn)?shù)依次是130660、159213、68704、60332。從目前的成績來看,該機(jī)的性能在驍龍855機(jī)型中并不算特別理想,安兔兔推測應(yīng)該是工程機(jī)的原因,未來量產(chǎn)版的跑分應(yīng)該會趨于理想。值得一提的是,目前魅族16T也...
Pixel 5最有趣的一點(diǎn)是,盡管配備了鋁制背面,但它具有無線充電以及反向無線充電功能。其它每一款具有無線充電功能的智能手機(jī)都是用玻璃材質(zhì)出貨,因?yàn)椴豢赡茉诮饘偈謾C(jī)上添加無線充電功能。那么,谷歌究竟是如何做到在金屬材質(zhì)的情況下為Pixel 5添加無線充電功能的呢?嗯,很聰明?! 」雀柘蚰承┟襟w成員透露,Pixel 5的金屬機(jī)身背面開了一...
AC電流探頭是一款能夠同時(shí)測量直流和交流的高頻探頭。其特點(diǎn)包括:1、高帶寬,可準(zhǔn)確快速捕捉電流波形;2、高精度,在電流測量量程范圍內(nèi),精度高達(dá)1%,滿足大部分測試領(lǐng)域的需要;3、兩個(gè)量程可供選擇,方便小電流測量;自動消磁調(diào)零功能,使用方便;4、聲光過流報(bào)警功能,提醒量程切換;5、電子輕觸式按鍵設(shè)計(jì),使用壽命更長;6、標(biāo)準(zhǔn)的BNC輸出接口,可...

史海拾趣

問答坊 | AI 解惑

申請斑竹的條件是什么???

請管理員幫忙解答?。?! 先謝謝阿?。?!…

查看全部問答∨

九大即將消失的科技產(chǎn)品,你猜到了幾個(gè)?

迅速發(fā)展的計(jì)算機(jī)、電子、通訊技術(shù)每一年都會把更加光鮮亮麗的數(shù)碼玩具帶到你的身邊。但與此同時(shí),也有不少曾經(jīng)在我們生活中扮演過重要角色的科技產(chǎn)品會慢慢淡出視野。福克斯新聞日前就總結(jié)了十種曾經(jīng)廣泛普及,卻又即將消亡的科技產(chǎn)品。 1. 有線 ...…

查看全部問答∨

伺服電機(jī)在數(shù)控機(jī)床上出現(xiàn)的問題求助!

數(shù)控雕銑平臺,電機(jī)的在走高于100轉(zhuǎn)/分鐘時(shí)一切正常,當(dāng)畫圓換向時(shí)處于0 90 180 270 幾個(gè)角度時(shí)電機(jī)有低頻振蕩(速度為2-30轉(zhuǎn)/分鐘),聽不出來但是手摸工作臺能夠感覺出來,工件在這個(gè)振蕩點(diǎn)上光潔度不行,試了很多參數(shù)加了速度濾波器有點(diǎn)點(diǎn)改善, ...…

查看全部問答∨

開發(fā)板 觸摸屏上電后無反應(yīng) 黑屏 但觸摸可用 為什么?

開發(fā)板 觸摸屏上電后無反應(yīng) 黑屏 但觸摸可用 為什么?…

查看全部問答∨

使用IImagingFactory出現(xiàn)的問題

#include \"Imaging.h\" #include #include 在頭文件添加后,編譯出現(xiàn)這樣的問題: 1>C:\\Program Files\\Microsoft Visual Studio 8\\SmartDevices\\SDK\\PocketPC2003\\include\\Imaging.h(28) : fatal error C1083: Cannot open include file: ...…

查看全部問答∨

wince 下關(guān)于CF卡的啟動速度設(shè)置

WINCE5.0開拉了個(gè)CE平臺,系統(tǒng)起來直接自動運(yùn)行程序出問題,關(guān)掉程序,再起來一個(gè)就OK了,后來仔細(xì)觀察發(fā)現(xiàn)CF卡的啟動總是比程序慢(一般都要1分多鐘才起來),但我程序起來的時(shí)候有一些設(shè)置放在CF卡的INI文件里面,請問那為知道怎么樣把CF卡(硬盤 ...…

查看全部問答∨

避免stm32rtc晶振不能起振的設(shè)計(jì)參考

大多數(shù)設(shè)計(jì)者都熟悉基于Pierce(皮爾斯)柵拓?fù)浣Y(jié)構(gòu)的振蕩器,但很少有人真正了解它是如何工作的,更遑論如何正確的設(shè)計(jì)。我們經(jīng)常看到,在振蕩器工作不正常之前,多數(shù)人是不愿付出太多精力來關(guān)注振蕩器的設(shè)計(jì)的,而此時(shí)產(chǎn)品通常已經(jīng)量產(chǎn);許多 ...…

查看全部問答∨

什么時(shí)候搞個(gè)MSP-FET430UIF的團(tuán)購呀

什么時(shí)候搞個(gè)MSP-FET430UIF的團(tuán)購呀   官網(wǎng)報(bào)價(jià)是99美刀。。。再加上關(guān)稅。。。。論壇可以考慮搞個(gè)團(tuán)購不。。。…

查看全部問答∨

NORDIC NRF24LE1—無線促成了環(huán)法自行車賽短跑取得成功

Mark Cavendish—2011年環(huán)法自行車賽短跑冠軍,將無線肌肉電刺激作為培訓(xùn)設(shè)備。   Compex Wireless是世界首個(gè)無線肌肉電刺激,Cavendish的HTC自行車隊(duì)就采用了它。   Compex采用了NORDIC無線技術(shù),專門針對專業(yè)運(yùn)動員,業(yè)余運(yùn)動員和 ...…

查看全部問答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 龙游县| 铁力市| 寿阳县| 兴安盟| 湄潭县| 扎鲁特旗| 鄂托克前旗| 山东省| 改则县| 承德市| 上杭县| 叙永县| 噶尔县| 澄城县| 婺源县| 连平县| 宕昌县| 车致| 西贡区| 紫云| 安新县| 孟津县| 三门峡市| 濮阳市| 台山市| 荆门市| 伊川县| 界首市| 乌拉特中旗| 乐清市| 南涧| 宣武区| 阿坝县| 麻城市| 弋阳县| 金秀| 泸水县| 永州市| 高淳县| 神池县| 永胜县|