日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來(lái)到深圳市穎特新科技有限公司!
語(yǔ)言
當(dāng)前位置:首頁(yè) >> 技術(shù)中心 >> 單片機(jī)入門 >> 關(guān)于使用stm8單片機(jī)的“外部計(jì)數(shù)”TIMx_ETR測(cè)脈沖的軟件配置問(wèn)題

關(guān)于使用stm8單片機(jī)的“外部計(jì)數(shù)”TIMx_ETR測(cè)脈沖的軟件配置問(wèn)題

關(guān)鍵字:stm8 配置 TIMx_ETR 脈沖 作者:admin 來(lái)源:不詳 發(fā)布時(shí)間:2018-05-18  瀏覽:7

本人在大四工作實(shí)習(xí)期間,由于工作需要,需要使用STM8單片機(jī)測(cè)量一個(gè)方波脈沖的頻率,一開始想要使用定時(shí)器捕獲,可是需要測(cè)量的脈沖頻率較高,用捕獲測(cè)量不僅測(cè)量不準(zhǔn)確,而且效率低下。于是乎想到了用外部計(jì)數(shù)TIMx_ETR功能測(cè)量!

真正的問(wèn)題來(lái)了,之前從來(lái)沒用過(guò)STM8的外部脈沖計(jì)數(shù)功能,而且網(wǎng)上也是在找不到如何配置外部脈沖計(jì)數(shù)模式。而公司的進(jìn)度還在不斷的向前趕,更蛋疼的是STM8的絕大多數(shù)資料手冊(cè)全是英文版的,不像STM32單片機(jī)那樣有很多中文版。這下可急壞了筆者?蛇是硬著頭皮連夜加班的看英文文檔。

經(jīng)過(guò)2天的努力煎熬,筆者終于找到了解決方法,那個(gè)興奮啊,無(wú)以言表。接下來(lái)話不多說(shuō),趕緊向廣大網(wǎng)友分享STM8單片機(jī)的TIMx_ETR的配置技巧:

1:其實(shí)STM8單片機(jī)的TIMx_ETR功能對(duì)STM8S系列和STM8L系列的配置方法是不相同的;STM8S是標(biāo)準(zhǔn)版,而STM8L是低功耗版;

對(duì)于STM8S系列的外部計(jì)數(shù)配置,需要通過(guò)向FLASH內(nèi)修改選項(xiàng)字節(jié)來(lái)激活TIMx_ETR的重映射功能,通過(guò)查看手冊(cè)的“選項(xiàng)字節(jié)”那部分就可以發(fā)現(xiàn),在STM8S的4803h地址的重映射選項(xiàng)里有個(gè)選項(xiàng)字節(jié)叫OPT2,當(dāng)向OPT2字節(jié)寫入0X20時(shí),便可以將PB3引腳映射為TIMx_ETR外部脈沖計(jì)數(shù)功能引腳。配置完選項(xiàng)字節(jié)之后另外還有一個(gè)值得注意的問(wèn)題是:此時(shí)該P(yáng)B3引腳的管腳必須配置成“上拉輸入且無(wú)外部中斷”,即庫(kù)函數(shù)里的 GPIO_Init(GPIOB, GPIO_Pin_3, GPIO_Mode_In_PU_No_IT);這一句。現(xiàn)附程序如下所示:

{

TIM1_DeInit();

CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER1, ENABLE);// 開啟定時(shí)器2的時(shí)鐘,

FLASH_Unlock(FLASH_MEMTYPE_DATA); //解鎖

while(FLASH_GetFlagStatus(FLASH_FLAG_DUL) == RESET);

FLASH_ProgramOptionByte(0x4803,0x20); //選項(xiàng)字節(jié),向0X4803地址寫入0X20

u8 status;

status=FLASH_WaitForLastOperation(FLASH_MEMTYPE_DATA);

if(status==FLASH_STATUS_SUCCESSFUL_OPERATION)

{}

FLASH_Lock(FLASH_MEMTYPE_DATA);

TIM1_ETRClockMode2Config(TIM1_EXTTRGPSC_DIV2, TIM1_EXTTRGPOLARITY_INVERTED,0x00); //外部計(jì)數(shù)配置

TIM1_TimeBaseInit(1,TIM1_COUNTERMODE_UP,9999,0);

TIM1_ITConfig(TIM1_IT_UPDATE,ENABLE);

TIM1_SetCounter(0x0);

TIM1_ClearITPendingBit(TIM1_IT_UPDATE); //參考庫(kù)

TIM1_Cmd(ENABLE);

}

2:然而不是所有STM8單片機(jī)都需要改選項(xiàng)字節(jié),對(duì)于STM8L系列單片機(jī)就不必修改選項(xiàng)字節(jié),直接配置即可,附程序代碼如下:

TIM2_DeInit();

CLK_PeripheralClockConfig(CLK_Peripheral_TIM2, ENABLE);// 開啟定時(shí)器2的時(shí)鐘

TIM2_ETRClockMode2Config(TIM2_ExtTRGPSC_DIV2, TIM2_ExtTRGPolarity_Inverted,0x00);

TIM2_TimeBaseInit(TIM2_Prescaler_1,TIM2_CounterMode_Up,9999);//需不需要加?

TIM2_ITConfig(TIM2_IT_Update,ENABLE);

TIM2_SetCounter(0x0);

TIM2_ClearITPendingBit(TIM2_IT_Update); //參考庫(kù)

TIM2_Cmd(ENABLE);

希望能幫助到你!

編輯: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-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

聂拉木县| 郎溪县| 太湖县| 防城港市| 仪征市| 万全县| 香港| 疏附县| 六盘水市| 江达县| 浮梁县| 河间市| 钟祥市| 仪征市| 秭归县| 昌平区| 阿城市| 崇州市| 延寿县| 庐江县| 陕西省| 朝阳区| 扶沟县| 中卫市| 玛沁县| 彭水| 唐海县| 慈溪市| 九江市| 县级市| 梁平县| 天峻县| 蒲江县| 泰顺县| 新巴尔虎左旗| 河津市| 石景山区| 当雄县| 五华县| 绥化市| 钟山县|