98国产精品综合一区二区三区,国产福利视频,男人添女人囗交做爰视频,日本免费一区二区三区视频观看

你好!歡迎來(lái)到深圳市穎特新科技有限公司!
語(yǔ)言
當(dāng)前位置:首頁(yè) >> 技術(shù)中心 >> 單片機(jī)入門(mén) >> 帶你學(xué)習(xí)STM8自帶輸入捕獲功能

帶你學(xué)習(xí)STM8自帶輸入捕獲功能

關(guān)鍵字:STM32 單片機(jī) 輸入捕獲 作者:admin 來(lái)源:不詳 發(fā)布時(shí)間:2018-05-18  瀏覽:44

 最近在用STM8的過(guò)程中需要用到一個(gè)頻率檢測(cè)的功能,還好STM8S207的定時(shí)器中自帶有輸入捕獲功能,之前還想著用定時(shí)器計(jì)數(shù)方式來(lái)實(shí)現(xiàn)的,但既然人家提供了該功能,那就試試吧,由于硬件里面接的是PC1引腳就只看了Timer1,其他的定時(shí)器應(yīng)該也是類(lèi)似的,看了資料之后發(fā)現(xiàn)STM8的輸入捕獲其實(shí)與STC12C5A60S2中的PCA捕獲模式很類(lèi)似,但是看資料沒(méi)有后者清晰易懂。。。

1.png

在捕獲模式中,基本上只用到了讀進(jìn)程,在STM8中有一個(gè)影子寄存器,但對(duì)于我們來(lái)說(shuō)是看不到的,我們僅操作預(yù)裝載寄存器即可。而且需要注意的是無(wú)論是計(jì)數(shù)器還是捕獲/比較寄存器都是先讀/寫(xiě)高8位,后讀/寫(xiě)低8位數(shù)據(jù)。

在文檔中給出了一個(gè)輸入捕獲模式的流程

2.png

[cpp] view plain copyTIM1_CCER1 &= (unsigned char)~0x02;//上升沿或者高電平觸發(fā)

最后使能捕獲功能,設(shè)置TIM1_CCER1寄存器的CC1E位=1,由于我們采用中斷方式因此也將TIM1_IER寄存器的CC1IE位置1,允許中斷請(qǐng)求。

完整的初始化代碼如下

[cpp] view plain copyvoid signal_capture_Init(void)

{

TIM1_CNTRH = 0x00;//清零計(jì)數(shù)器高8位

TIM1_CNTRL = 0x00;//清零計(jì)數(shù)器低8位

TIM1_PSCRH = 0x00;//計(jì)數(shù)器時(shí)鐘分頻高8位

TIM1_PSCRL = 0x10;//計(jì)數(shù)器時(shí)鐘分頻低8位16分頻

TIM1_CCER1 &= (unsigned char)~0x01;//清零TIM1_CCER1中的CC1E位,之后才可配置TIM1_CCMR1

TIM1_CCMR1 = 0x01;//配置TIM1_CCMR1中的CC1S位為1,CC1通道配置為輸入,IC1映射到TI1FP1上

//無(wú)濾波器、無(wú)預(yù)分頻器(捕獲輸入口上檢測(cè)到的每一個(gè)邊沿都觸發(fā)一次捕獲)

TIM1_CCER1 &= (unsigned char)~0x02;//上升沿或者高電平觸發(fā)

TIM1_IER |= 0x02;//CC1IE=1,使能捕獲/比較1中斷

TIM1_CCER1 |= 0x01;//捕獲使能

TIM1_CR1 |= 0x01;//使能定時(shí)/計(jì)數(shù)器

}

當(dāng)發(fā)生一個(gè)輸入捕獲時(shí),計(jì)數(shù)器的值被傳送到TIM1_CCR1寄存器中,計(jì)時(shí)器的時(shí)鐘源在程序中我們?cè)O(shè)置為16分頻

4.png

分頻過(guò)后計(jì)數(shù)器的頻率為1MHz,這里采用分頻主要是避免計(jì)數(shù)器溢出,這樣同時(shí)也降低了精度,同時(shí)設(shè)置計(jì)數(shù)器的初值為0,計(jì)數(shù)器默認(rèn)計(jì)數(shù)方式是向上計(jì)數(shù),計(jì)到最大值后又從0開(kāi)始計(jì)數(shù),

中斷處理代碼如下

[cpp] view plain copy@far @interrupt void signal_capture_irq (void)

{

if(TIM1_SR1&0x02)

{

TIM1_SR1 &= (unsigned char)~0x02;//清除CC1IF標(biāo)志

if(vsync_cap_data_old == 0x00)

{//第一次捕獲中斷來(lái)臨

vsync_cap_data_old = TIM1_CCR1H;//先讀取高8位數(shù)據(jù)

vsync_cap_data_old = (unsigned int)(vsync_cap_data_old<<8) + TIM1_CCR1L;//再讀取低8位數(shù)據(jù)

}

else

{

//第二次捕獲中斷來(lái)臨

vsync_cap_data_new = TIM1_CCR1H;//先讀取高8位數(shù)據(jù)

vsync_cap_data_new = (unsigned int)(vsync_cap_data_new<<8) + TIM1_CCR1L;//再讀取低8位數(shù)據(jù)

TIM1_IER &= (unsigned char)~0x02;//禁止通道1捕獲/比較中斷

TIM1_CR1 &= (unsigned char)~0x01;//停止計(jì)數(shù)器

if(vsync_cap_data_new > vsync_cap_data_old)

vsync_period = (vsync_cap_data_new - vsync_cap_data_old);

else

vsync_period = 0xFFFF + vsync_cap_data_new - vsync_cap_data_old;

vsync_cap_data_old = 0x00;

isCaptureOver = 1;

}

}

}

我們捕獲兩次中斷計(jì)算時(shí)間差,

[cpp] view plain copyif(isCaptureOver)

{

//如果捕獲完成則對(duì)數(shù)據(jù)進(jìn)行處理

cmd_puts("period:");

cmd_hex((unsigned char)(vsync_period>>8));

cmd_hex((unsigned char)vsync_period);

TIM1_CNTRH = 0x00;//清零計(jì)數(shù)器高8位

TIM1_CNTRL = 0x00;//清零計(jì)數(shù)器低8位

TIM1_IER |= 0x02;//CC1IE=1,使能捕獲/比較1中斷

TIM1_CR1 |= 0x01;//使能定時(shí)/計(jì)數(shù)器

isCaptureOver = 0;

}

這里只從串口輸出了周期,結(jié)果如下

5.jpg

可以看到周期在一個(gè)范圍內(nèi)波動(dòng)我們?nèi)∫粋(gè)值0x79ED來(lái)計(jì)算,它所對(duì)應(yīng)的頻率f=1000000/0x79ED=32.0379Hz還是比較接近我們的實(shí)際輸入頻率30Hz,誤差是大了些,可以通過(guò)代碼繼續(xù)改進(jìn)

編輯:admin  最后修改時(shí)間:2018-05-18

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬(wàn)眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2025 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

我给妺妺开的处苞视频| 添女人下边视频全过程| 亚洲乱色熟女一区二区三区蜜臀| 亚洲精品国产精品国自产| 乱肉黄蓉合集500篇| 又硬又粗进去好爽a片看| chinesevideo国产熟妇| 真实的国产乱xxxx在线| 女人荫部100张图片| 上课忘穿内裤被老师摸到高潮| 中国老太婆多毛bbhd| 国产自拍在线观看| 疯狂的交换1—6真实交换3和2| 久久九九久精品国产免费直播| 人人妻人人藻人人爽欧美一区| 日韩毛片无码永久免费看| 性xxxfreexxxx国产| 狠狠综合久久av一区二区| 鸡毛飞上天电视剧全集观看免费| 日本人真人姓交大视频| 欧美变态深喉囗交xxxx| 在线永久免费观看黄网站| 年轻的护士3韩国三级| 国产偷v国产偷v亚洲高清学生| 岳肥肉紧嫩嫩伦69| 国产片+人+综合| 久碰人妻人妻人妻人人掠| 男男暴菊gay无套网站| 天天躁日日躁狠狠躁午夜剧场| 亚洲精品无码一区二区三区网雨| 亚洲av中文无码乱人伦在线视色| 精品2022露脸国产偷人在视频| 国产gv天堂亚洲国产gv刚刚碰| 性饥渴的老妇教我玩她| china真实videos另类| 校花奶头好大揉得好爽| 亚洲色无码a片一区二区麻豆| 视频一区二区三区sm重味| 成全视频在线观看免费| 国产精品久久久亚洲偷窥女厕| 国产成人无码aa精品一区|