一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

GD32對(duì)Timer定時(shí)器原理的詳細(xì)講解

開(kāi)山師傅 ? 來(lái)源:嵌入式應(yīng)用開(kāi)發(fā) ? 作者:嵌入式應(yīng)用開(kāi)發(fā) ? 2022-04-22 17:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

GD32 Timr定時(shí)器看起來(lái)比較復(fù)雜啊。一看GD32E10x 的SPEC:一個(gè)高級(jí)定時(shí)器,三個(gè)通用定時(shí)器,還有一個(gè)基本定時(shí)器。

項(xiàng)目上想用來(lái)做分時(shí)處理程序都不知道用哪個(gè)?

就用通用的定時(shí)器 timer1

一起看下時(shí)鐘樹(shù),如下圖所示:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdrdW5oZW5yeQ==,size_16,color_FFFFFF,t_70GD32時(shí)鐘樹(shù)部分硬件展示

TIMER1的時(shí)鐘是CK_TIMER1,要提供CK_TIMER1需要TIMER1 enable并且需要提供具體的時(shí)鐘

具體的時(shí)鐘

if(APB1 prescale = 1 ) x 1 else x 2

我們的CK_SYS時(shí)鐘(系統(tǒng)時(shí)鐘)經(jīng)過(guò)Prescaler之后最大頻率是CK_AHB(120MHz)

然后經(jīng)過(guò)預(yù)分頻,APB1頻率最大到60MHz,如果預(yù)分頻系數(shù)是1的話,則提供到TIMER的頻率是x2。

也就是60*2 = 120MHz

所以TIMER1的時(shí)鐘就用基于120MHz去分頻

我想每200ms 獲取一次timer1的中斷。改怎么辦?

有兩個(gè)參數(shù)可以一起去實(shí)現(xiàn)這個(gè)功能。

1個(gè)事TIMER的prescale 可以先把這個(gè)120MHz分頻,比如我分頻為1MHz,那么prescale就是120,不過(guò)這里timer_initpara.prescaler不能設(shè)置為120,要設(shè)置為119.

因?yàn)榫唧w的計(jì)算方式是120MHz/(prescaler+1)

這樣拿到了1MHz的clock.那獲取每200ms的中斷再要做什么呢?

這里有reload 參數(shù)timer_initpara.period ,官方成為“TIMER counter auto reload register”

這個(gè)reload參數(shù)意思是:當(dāng)計(jì)數(shù)計(jì)到period參數(shù)的時(shí)候就做一次更新,從0開(kāi)始重新計(jì)算,中斷就產(chǎn)生一次。

前面1MHz 意思是1s 可以計(jì)數(shù)1000 000次。也就是1ms 可以計(jì)數(shù)1000次,我需要200ms更新一次,那就說(shuō)我需要計(jì)數(shù) 200 * 1000,所以reload就是200 * 1000 = 200000

timer_initpara.period 就是寫為200000

審核編輯:符乾江

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3298

    瀏覽量

    118971
  • 時(shí)鐘樹(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    56

    瀏覽量

    11047
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    TIMER定時(shí)器

    TIMER0和TIMER7定時(shí)器載波相位有偏差,如何解決
    發(fā)表于 06-06 14:41

    GD32與STM32有什么區(qū)別

    電子發(fā)燒友網(wǎng)站提供《GD32與STM32有什么區(qū)別.docx》資料免費(fèi)下載
    發(fā)表于 04-03 17:27 ?0次下載

    GD32VF103使用核內(nèi)部timer定時(shí)器實(shí)現(xiàn)延時(shí)函數(shù),為什么系統(tǒng)時(shí)鐘要除以4?

    使用核內(nèi)部timer定時(shí)器實(shí)現(xiàn)延時(shí)函數(shù),為什么系統(tǒng)時(shí)鐘要除以4? 復(fù)制 void delay_1ms(uint32_t count) { uint64_t start_mtime
    發(fā)表于 09-27 09:54

    為什么在rt-thread studio創(chuàng)建不了gd32的項(xiàng)目?

    為什么在rt-thread studio中創(chuàng)建一個(gè)gd32項(xiàng)目時(shí)候,他打開(kāi)的那個(gè)選型芯片型號(hào)是,安裝好了,沒(méi)有確認(rèn)鍵啊,只有退出sdk管理,然后就卡在那里了,創(chuàng)建不了gd32的項(xiàng)目
    發(fā)表于 09-27 09:52

    GD32 MCU入門教程】GD32 MCU GPIO 結(jié)構(gòu)與使用注意事項(xiàng)

    本文是專門為基于GD32 MCU開(kāi)發(fā)的工程設(shè)計(jì)人員提供,主要介紹了GPIO的功能配置、內(nèi)部結(jié)構(gòu)以及在不同場(chǎng)景使用時(shí)的注意事項(xiàng),旨在幫助GD32 MCU開(kāi)發(fā)者優(yōu)化對(duì)通用型輸入輸出端口(GPIO)的使用,正確快速的使用GD32 MC
    的頭像 發(fā)表于 09-07 10:34 ?1677次閱讀
    【<b class='flag-5'>GD32</b> MCU入門教程】<b class='flag-5'>GD32</b> MCU GPIO 結(jié)構(gòu)與使用注意事項(xiàng)

    GD32 MCU 入門教程】GD32 MCU FPU 使用方法

    GD32 MCU FPU 使用方法
    的頭像 發(fā)表于 08-25 09:24 ?1379次閱讀
    【<b class='flag-5'>GD32</b> MCU 入門教程】<b class='flag-5'>GD32</b> MCU FPU 使用方法

    GD32如何替換STM32

    GD32替換Stm32注意事項(xiàng)
    發(fā)表于 08-23 11:31 ?5次下載

    GD32 MCU 入門教程】GD32 MCU 常見(jiàn)外設(shè)介紹(14)RTC 模塊介紹

    GD32 MCU內(nèi)部提供了一個(gè)RTC(實(shí)時(shí)時(shí)鐘)模塊,通過(guò)RTC可以實(shí)現(xiàn)日歷時(shí)鐘、鬧鐘等功能。RTC也可以用于深度睡眠或待機(jī)模式的低功耗喚醒。不同系列的GD32 MCU在RTC設(shè)計(jì)和功能上有所區(qū)別,總體可以分為三大系列:
    的頭像 發(fā)表于 08-23 09:18 ?1119次閱讀
    【<b class='flag-5'>GD32</b> MCU 入門教程】<b class='flag-5'>GD32</b> MCU 常見(jiàn)外設(shè)介紹(14)RTC 模塊介紹

    GD32 MCU 入門教程】GD32 MCU 常見(jiàn)外設(shè)介紹(12)FMC 模塊介紹

    閃存控制(FMC),提供了片上閃存需要的所有功能。FMC 也提供了頁(yè)擦除,整片擦除,以及32 位整字或 16 位半字編程閃存等操作。 GD32 MCU 支持不同類型編程的具體說(shuō)明如下表 GD32 MCU 不同系列編程區(qū)別所示。
    的頭像 發(fā)表于 08-21 09:56 ?2144次閱讀
    <b class='flag-5'>GD32</b> MCU 入門教程】<b class='flag-5'>GD32</b> MCU 常見(jiàn)外設(shè)介紹(12)FMC 模塊介紹

    GD32 MCU 入門教程】一、GD32 MCU 開(kāi)發(fā)環(huán)境搭建(3)使用 Embedded Builder 開(kāi)發(fā) GD32

    GD32系列為通用型MCU,所以開(kāi)發(fā)環(huán)境也可以使用通用型的IDE,目前使用較多的是KEIL、IAR、 GCC和Embedded Builder,客戶可以根據(jù)個(gè)人喜好來(lái)選擇相應(yīng)的開(kāi)發(fā)環(huán)境。
    的頭像 發(fā)表于 08-08 16:03 ?2685次閱讀
    【<b class='flag-5'>GD32</b> MCU 入門教程】一、<b class='flag-5'>GD32</b> MCU 開(kāi)發(fā)環(huán)境搭建(3)使用 Embedded Builder 開(kāi)發(fā) <b class='flag-5'>GD32</b>

    GD32 MCU 入門教程】一、GD32 MCU 開(kāi)發(fā)環(huán)境搭建(2)使用 IAR 開(kāi)發(fā) GD32

    GD32系列為通用型MCU,所以開(kāi)發(fā)環(huán)境也可以使用通用型的IDE,目前使用較多的是KEIL、IAR、 GCC和Embedded Builder,客戶可以根據(jù)個(gè)人喜好來(lái)選擇相應(yīng)的開(kāi)發(fā)環(huán)境。
    的頭像 發(fā)表于 08-08 15:40 ?1469次閱讀
    【<b class='flag-5'>GD32</b> MCU 入門教程】一、<b class='flag-5'>GD32</b> MCU 開(kāi)發(fā)環(huán)境搭建(2)使用 IAR 開(kāi)發(fā) <b class='flag-5'>GD32</b>

    GD32 MCU 入門教程】一、GD32 MCU 開(kāi)發(fā)環(huán)境搭建(1)使用Keil開(kāi)發(fā)GD32

    GD32系列為通用型MCU,所以開(kāi)發(fā)環(huán)境也可以使用通用型的IDE,目前使用較多的是KEIL、IAR、 GCC和Embedded Builder,客戶可以根據(jù)個(gè)人喜好來(lái)選擇相應(yīng)的開(kāi)發(fā)環(huán)境。
    的頭像 發(fā)表于 08-08 15:01 ?2882次閱讀
    【<b class='flag-5'>GD32</b> MCU 入門教程】一、<b class='flag-5'>GD32</b> MCU 開(kāi)發(fā)環(huán)境搭建(1)使用Keil開(kāi)發(fā)<b class='flag-5'>GD32</b>

    GD32無(wú)法燒寫的原因?

    GD32無(wú)法燒寫
    發(fā)表于 07-26 07:09

    GD32L233移植FreeRTOS,用定時(shí)器2做延時(shí)函數(shù)在線調(diào)試時(shí)無(wú)法進(jìn)入TIMER2的中斷服務(wù)函數(shù),怎么解決?

    GD32L233移植FreeRTOS,用定時(shí)器2做延時(shí)函數(shù)在線調(diào)試發(fā)現(xiàn)無(wú)法進(jìn)入TIMER2的中斷服務(wù)函數(shù)。
    發(fā)表于 07-26 06:39

    GD32E230C8T6高級(jí)定時(shí)器timer0無(wú)法正常輸出PWM波形的原因?

    原本想用高級(jí)定時(shí)器的中央對(duì)齊計(jì)數(shù)模式來(lái)輸出SPWM波,但是TIMER0的CH0,CH1等口,都無(wú)法正常輸出PWM波形,換成普通定時(shí)器就可以了,STM32里對(duì)于高級(jí)定時(shí)器輸出PWM波形,
    發(fā)表于 07-26 06:34