此處使用的普中開發(fā)板,實驗內(nèi)容定時器5輸入捕獲通道1的高電平時長。
軟件實現(xiàn)方法:
定時器5主要使用了兩個功能:
①時基單元;②輸入捕獲;
從下文可知,通過定時器5捕獲到相應(yīng)的極性(eg:上升沿或高電平and so on)后,保存計數(shù)器的當(dāng)前值到捕獲/比較寄存器(TIMx_CCRx)中。而后,通過第二次捕獲成功后,通過差值就可以求出該極性的周期或保持時間。此實驗室捕獲高電平的時間,通過先捕獲上升沿再捕獲下降沿,即可求出一個高電平的時長。
數(shù)據(jù)手冊描述如下:
在輸入捕獲模式下,當(dāng)檢測到ICx信號上相應(yīng)的邊沿后,計數(shù)器的當(dāng)前值被鎖存到捕獲/比較寄存
器(TIMx_CCRx)中。當(dāng)發(fā)生捕獲事件時,相應(yīng)的CCxIF標(biāo)志(TIMx_SR寄存器)被置1,如果開放
了中斷或者DMA操作,則將產(chǎn)生中斷或者DMA請求。如果發(fā)生捕獲事件時CCxIF標(biāo)志已經(jīng)為
高,那么重復(fù)捕獲標(biāo)志CCxOF(TIMx_SR寄存器)被置1。寫CCxIF=0可清除CCxIF,或讀取存儲
在TIMx_CCRx寄存器中的捕獲數(shù)據(jù)也可清除CCxIF。寫CCxOF=0可清除CCxOF。
以下例子說明如何在TI1輸入的上升沿時捕獲計數(shù)器的值到TIMx_CCR1寄存器中,步驟如下:
● 選擇有效輸入端:TIMx_CCR1必須連接到TI1輸入,所以寫入TIMx_CCR1寄存器中的
CC1S=01,只要CC1S不為’00’,通道被配置為輸入,并且TIMx_CCR1寄存器變?yōu)橹蛔x。
● 根據(jù)輸入信號的特點,配置輸入濾波器為所需的帶寬(即輸入為TIx時,輸入濾波器控制位是
TIMx_CCMRx寄存器中的ICxF位)。假設(shè)輸入信號在最多5個內(nèi)部時鐘周期的時間內(nèi)抖動,
我們須配置濾波器的帶寬長于5個時鐘周期;因此我們可以(以fDTS頻率)連續(xù)采樣8次,以確
認(rèn)在TI1上一次真實的邊沿變換,即在TIMx_CCMR1寄存器中寫入IC1F=0011。
● 選擇TI1通道的有效轉(zhuǎn)換邊沿,在TIMx_CCER寄存器中寫入CC1P=0(上升沿)。
● 配置輸入預(yù)分頻器。在本例中,我們希望捕獲發(fā)生在每一個有效的電平轉(zhuǎn)換時刻,因此預(yù)
分頻器被禁止(寫TIMx_CCMR1寄存器的IC1PS=00)。
● 設(shè)置TIMx_CCER寄存器的CC1E=1,允許捕獲計數(shù)器的值到捕獲寄存器中(使能輸入捕獲)。
● 如果需要,通過設(shè)置TIMx_DIER寄存器中的CC1IE位允許相關(guān)中斷請求,通過設(shè)置
TIMx_DIER寄存器中的CC1DE位允許DMA請求。
當(dāng)發(fā)生一個輸入捕獲時:
● 產(chǎn)生有效的電平轉(zhuǎn)換時,計數(shù)器的值被傳送到TIMx_CCR1寄存器。
● CC1IF標(biāo)志被設(shè)置(中斷標(biāo)志)。當(dāng)發(fā)生至少2個連續(xù)的捕獲時,而CC1IF未曾被清除,
CC1OF也被置1。
● 如設(shè)置了CC1IE位,則會產(chǎn)生一個中斷。
● 如設(shè)置了CC1DE位,則還會產(chǎn)生一個DMA請求。
為了處理捕獲溢出,建議在讀出捕獲溢出標(biāo)志之前讀取數(shù)據(jù),這是為了避免丟失在讀出捕獲溢
出標(biāo)志之后和讀取數(shù)據(jù)之前可能產(chǎn)生的捕獲溢出信息。
使用庫函數(shù)可以簡化許多步驟,畢竟是別人包裝好的函數(shù)來著。
TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;//聲明一個結(jié)構(gòu)體變量,用來初始化定時器
TIM_ICInitTypeDef TIM5_ICInitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
/* 開啟定時器5時鐘 */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5,ENABLE); //使能TIM5時鐘
TIM_ClearITPendingBit(TIM5,TIM_IT_Update|TIM_IT_CC1); //清除中斷和捕獲標(biāo)志位
TIM_TimeBaseInitStructure.TIM_Period = 0xffff; //設(shè)定計數(shù)器自動重裝值
TIM_TimeBaseInitStructure.TIM_Prescaler = 71; //以1Mhz的頻率計數(shù) 一次即是1us
TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1; //設(shè)置時鐘分割:TDTS = Tck_tim
TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上計數(shù)模式
TIM_TimeBaseInit(TIM5,&TIM_TimeBaseInitStructure);//根據(jù)TIM_TimeBaseInitStruct中指定的參數(shù)初始化TIMx的時間基數(shù)單位
TIM5_ICInitStructure.TIM_Channel = TIM_Channel_1; //選擇輸入端 IC1映射到TI1上
TIM5_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising; //上升沿捕獲
TIM5_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; //映射到TI1上
TIM5_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1; //配置輸入分頻,不分頻
TIM5_ICInitStructure.TIM_ICFilter = 0x00; //IC1F=0000 配置輸入濾波器 不濾波
TIM_ICInit(TIM5, &TIM5_ICInitStructure); //初始化TIM5輸入捕獲通道1
//中斷分組初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
NVIC_InitStructure.NVIC_IRQChannel=TIM5_IRQn; //打開TIM5的全局中斷
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0; //搶占優(yōu)先級為0
NVIC_InitStructure.NVIC_IRQChannelSubPriority=1; //響應(yīng)優(yōu)先級為1
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能
NVIC_Init(&NVIC_InitStructure);
TIM_Cmd(TIM5,ENABLE); //使能或者失能TIMx外設(shè)
TIM_ITConfig(TIM5, TIM_IT_Update|TIM_IT_CC1, ENABLE ); //使能或者失能指定的TIM中斷
中斷處理函數(shù)
void TIM5_IRQHandler() //定時器5輸入捕獲中斷函數(shù)
{
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=0xffff;
}
else
{
TIM5CH1_CAPTURE_STA++;
}
}
}
}
if (TIM_GetITStatus(TIM5, TIM_IT_CC1) != RESET) //捕獲1發(fā)生捕獲事件
{
if(TIM5CH1_CAPTURE_STA&0X40) //捕獲到一個下降沿
{
TIM5CH1_CAPTURE_STA|=0X80; //標(biāo)記成功捕獲到一次上升沿
TIM5CH1_CAPTURE_VAL=TIM_GetCapture1(TIM5); //獲得TIMx輸入捕獲1的值
TIM_OC1PolarityConfig(TIM5,TIM_ICPolarity_Rising); //設(shè)置為上升沿捕獲
}
else
{
TIM5CH1_CAPTURE_STA=0; //清空
TIM5CH1_CAPTURE_VAL=0;
TIM_SetCounter(TIM5,0);
TIM5CH1_CAPTURE_STA|=0X40; //標(biāo)記捕獲到了上升沿
TIM_OC1PolarityConfig(TIM5,TIM_ICPolarity_Falling); //設(shè)置為下降沿捕獲
}
}
TIM_ClearITPendingBit(TIM5, TIM_IT_CC1|TIM_IT_Update); //清除中斷標(biāo)志位
}
庫函數(shù)的處理方式,是將手冊上說到條件逐一封裝到TIM_ICInitTypeDef 結(jié)構(gòu)體中,再通過TIM_ICInit()函數(shù)將相應(yīng)的值填寫到寄存器中即可。
上一篇:基于STM32使用超聲波HC-SR04模塊
下一篇:STM32之JTAG口作為普通IO使用
推薦閱讀
史海拾趣
1955年,Gems Sensors & Controls公司的創(chuàng)始人Edward H. Moore在地下室中開始了他的創(chuàng)新之旅,成功研發(fā)出了第一臺液位指示器。這一發(fā)明不僅為日后的公司奠定了基礎(chǔ),也標(biāo)志著Moore在傳感器技術(shù)領(lǐng)域的初步探索。1959年,他獲得了該技術(shù)的專利,這一成果迅速吸引了業(yè)界的關(guān)注,為Gems公司的誕生鋪平了道路。
在追求經(jīng)濟(jì)效益的同時,淩志比高公司也積極履行社會責(zé)任。公司注重環(huán)保和可持續(xù)發(fā)展,采用環(huán)保材料和生產(chǎn)工藝,減少對環(huán)境的影響。此外,淩志比高還積極參與社會公益事業(yè),為社會做出貢獻(xiàn)。這種負(fù)責(zé)任的態(tài)度贏得了社會各界的認(rèn)可和尊重。
請注意,以上故事僅為虛構(gòu)示例,并不代表任何真實公司的實際情況。如果您對淩志比高公司有進(jìn)一步的了解需求,建議直接訪問其官方網(wǎng)站或查閱相關(guān)新聞報道以獲取準(zhǔn)確信息。
隨著公司業(yè)務(wù)的不斷發(fā)展壯大,Base Two (2) Systems開始實施國際化戰(zhàn)略。公司積極拓展海外市場,與多個國家和地區(qū)的合作伙伴建立了合作關(guān)系。同時,公司還在海外設(shè)立了研發(fā)中心和生產(chǎn)基地,以便更好地服務(wù)全球客戶。這一國際化戰(zhàn)略的實施,使得公司的業(yè)務(wù)范圍更加廣泛,也為公司的未來發(fā)展打開了新的篇章。
這五個故事展示了Base Two (2) Systems在電子行業(yè)中的發(fā)展歷程和取得的成就。通過技術(shù)創(chuàng)新、市場擴(kuò)張、研發(fā)投入、品質(zhì)管理和國際化戰(zhàn)略的實施,公司逐漸發(fā)展成為電子行業(yè)中的佼佼者,為行業(yè)的發(fā)展做出了積極的貢獻(xiàn)。
ELM始終將品質(zhì)管理作為公司發(fā)展的核心。公司建立了完善的質(zhì)量管理體系,從原材料采購到生產(chǎn)、檢測、包裝等各個環(huán)節(jié)都進(jìn)行嚴(yán)格的質(zhì)量控制。同時,ELM還注重客戶需求和反饋,不斷優(yōu)化產(chǎn)品和服務(wù),以滿足客戶的個性化需求。這些舉措使得ELM的產(chǎn)品在市場上享有很高的聲譽(yù)和口碑,客戶滿意度持續(xù)提升。
在20世紀(jì)初,BELDEN公司在技術(shù)創(chuàng)新方面取得了顯著突破。公司不僅將塑料絕緣材料應(yīng)用于電線和電纜制造,還著眼于精密和高質(zhì)量產(chǎn)品的需求,致力于高附加值的絕緣材料、電纜、防護(hù)和護(hù)套材料的生產(chǎn)。這些技術(shù)創(chuàng)新使得BELDEN的產(chǎn)品在性能和質(zhì)量上都有了顯著提升,進(jìn)一步鞏固了公司在市場中的地位。同時,公司還不斷擴(kuò)大產(chǎn)品線,增加了橡膠絕緣材料等多種新產(chǎn)品,滿足了不同客戶的需求。
EOZ Secme深知人才是企業(yè)發(fā)展的核心動力。因此,公司高度重視人才的培養(yǎng)和引進(jìn)。通過設(shè)立研發(fā)中心、提供優(yōu)厚的福利待遇等方式,EOZ Secme吸引了大量優(yōu)秀人才加入。同時,公司還建立了完善的培訓(xùn)體系,不斷提升員工的技能和素質(zhì)。這些措施為EOZ Secme的持續(xù)發(fā)展提供了有力的人才保障。
無線電發(fā)射設(shè)備型號核準(zhǔn)檢測的檢驗依據(jù)(含參考標(biāo)準(zhǔn)) 無線電發(fā)射設(shè)備型號核準(zhǔn)檢測的檢驗依據(jù)(含參考標(biāo)準(zhǔn))… 查看全部問答∨ |
|
Torex推出了世界上最小級別的 0603 尺寸超小型肖特基二極管。 XBS013V1DR-G和XBS013R1DR-G是超小型封裝USP-2B01 (0.6 x 0.3 x h0.3mm)的肖特基二極管。超小型封裝有利于縮小實裝面積、節(jié)省空間。用于便攜式儀器等小功率電路中,特別是反向漏電流 ( ...… 查看全部問答∨ |
|
PB 5錯誤信息 Too much data space used by DLL's in MODULES section Error: Too much data space used by DLL\'s in MODULES section Current usage = 28032k, Maximum usage = 26624k. Reduce DLL usage or move some DLL\'s into the FILES section. 能否增大這個 max usage??… 查看全部問答∨ |
新手求助:關(guān)于函數(shù)的使用 EZUSB_WaitForEEPROMWrite() 我剛剛接觸單片機(jī)和Keil編程,先從一些現(xiàn)有的例子入手,已有程序中使用到了一些函數(shù),比如EZUSB_WaitForEEPROMWrite(),這些函數(shù)應(yīng)該都是已經(jīng)寫好的函數(shù),而且函數(shù)的原形也已經(jīng)找到了。但是在哪里能查到這些函數(shù)的說明呢,自己編程的時候又怎樣使 ...… 查看全部問答∨ |
按照AN2790文檔的說明,以240*320為例,放一幅圖片需要150K,如需要放動畫則需要在flash中存放N*150K的數(shù)據(jù),有沒 ...… 查看全部問答∨ |
一般,我們看數(shù)據(jù)手冊都是為了看數(shù)據(jù)手冊上的一些重要參數(shù),但是: 這些參數(shù)是真的嗎? 也就是說該芯片真的能做到數(shù)據(jù)手冊上所說的那些指標(biāo)嗎? 還是我們自己的原因使得該芯片不能達(dá)到數(shù)據(jù)手冊所標(biāo)榜的參數(shù)? 或者是說芯片生產(chǎn)商“夸大”了芯片 ...… 查看全部問答∨ |
本帖最后由 jameswangsynnex 于 2015-3-3 19:56 編輯 2月19日消息,英特爾推出的最新服務(wù)器處理器至強(qiáng)E7 v2系列采用了多達(dá)15個處理器核心,成為英特爾核心數(shù)最多的處理器。 最新的至強(qiáng)E7-4800 v2處理器基于Ivy Bridge架構(gòu),將是英特爾到目前為止 ...… 查看全部問答∨ |
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦
- 人形機(jī)器人馬拉松背后的思考,兆易創(chuàng)新如何賦能機(jī)器人產(chǎn)業(yè)
- 一種基于STM32的智能柜控制器設(shè)計
- 小型傾轉(zhuǎn)旋翼機(jī)的無刷直流電機(jī)驅(qū)動器設(shè)計
- 超高速攝影機(jī)電控系統(tǒng)設(shè)計
- 基于GPS自動授時的無線智能控制器的設(shè)計
- 基于PTR2000的無線氣象信息采集系統(tǒng)設(shè)計
- Microchip推出MEC175xB系列器件,為嵌入式控制器引入硬件 抗量子攻擊能力
- 無人飛行器機(jī)載穩(wěn)定云臺控制系統(tǒng)的設(shè)計
- 匠芯創(chuàng)推出面向具身智能高性能實時處理器M7000
- 基于WiFi信號和深度學(xué)習(xí)的車內(nèi)兒童檢測系統(tǒng)——DeepCPD
- 半導(dǎo)體公司,排隊赴港“二次上市”
- 開啟工業(yè)4.0:集成EtherCAT和萊迪思FPGA實現(xiàn)高級自動化
- 思特威推出4MP智能安防應(yīng)用圖像傳感器升級新品SC4336H
- 英飛凌攜手NVIDIA,引領(lǐng)未來AI服務(wù)器機(jī)架電源架構(gòu)變革
- 助汽車行業(yè)邁向電氣化、自動化和互聯(lián)化的未來
- 淺析BMS電池管理系統(tǒng)高精度電流檢測
- 車載無線網(wǎng)絡(luò)硬盤錄像機(jī):智能交通系統(tǒng)的核心與大腦
- 電池組的核心大腦承擔(dān)著確保電池性能優(yōu)良及壽命長久的重任
- 汽車4G視頻監(jiān)控管理系統(tǒng):安全與效率的雙重保障
- 中國禾邁將為南非最大光伏項目提供微型逆變器
- 到2022年美國公用事業(yè)規(guī)模太陽能成本年降7%
- 新一代LED背光驅(qū)動器采用專利控制技術(shù) 消除PWM可聽噪音
- Preh為汽車溫度傳感器配CAN接口 可安裝在車輛任何位置
- 特斯拉公布新型天窗專利 帶有電子著色和集成照明系統(tǒng)
- 海康機(jī)器人獲國內(nèi)首張AGV全指令CE證書及工業(yè)4.0證書
- 2018中國人工智能峰會關(guān)鍵詞之AI技術(shù)創(chuàng)新與應(yīng)用
- 未來機(jī)器人是朋友還是敵人,會屠殺人類嗎?
- GreyOrange計劃在全國各地工廠再次部署2萬臺機(jī)器人
- 機(jī)器人實現(xiàn)隨時隨地樓內(nèi)跑腿服務(wù),規(guī)?;行钑r間