<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【GD32F470紫藤派開發板使用手冊】第七講 FWDG-看門狗實驗

聚沃科技 ? 2024-05-11 10:13 ? 次閱讀
wKgaomYwSqiAY_PQAAnl063z3JE116.png

7.1實驗內容

通過本實驗主要學習以下內容:

  • 獨立看門狗的原理
  • 獨立看門狗功能介紹
  • 實現獨立看門狗功能

7.2實驗原理

前面講到,看門狗的計數值在每一個計數器時鐘來的時候減1,那么這個時鐘是什么呢,我們來看一下GD32F470的時鐘樹:

wKgZomY-0tuAXmybAABFzs052pI850.png

從時鐘樹可以看到,FWDGT的時鐘來源于IRC32K,這是GD32F470的內部時鐘,典型的頻率值是32KHz。但要注意,這個IRC32K不是直接連到FWDGT計數器的,而是需要經過一個預分頻器,這個分頻器大小通過FWDGT_PSC進行設定。

預分頻寄存器(FWDGT_PSC):

wKgaomY9eV-AOG5kAABcFQ1QEEw925.pngwKgZomY9eWiAWv51AAFYY6ZfqBc364.pngwKgaomY9eY6ASl7jAAFQREG8aQk297.png

如設定PS[2:0]為001b,那么計數器的時鐘頻率就為32K/8 = 4KHz,即每隔250us計數值減1。

7.2.1獨立看門狗(FWDGT)的重裝載

說完時鐘,我們來說下FWDGT的計數器和重裝載。計數器就是按照前面說的,每來一個計數器時鐘,計數器減1,而計數器的初始值,來自于重裝載寄存器。

重裝載寄存器(FWDGT_RLD):

wKgaomY9eYaAVRGMAABaHu93Q8g730.pngwKgZomY9eaCAClk4AAJfPNzGgew320.png

從“描述”中我們可以看出,向FWDGT_CTL寫入0xAAAA(即喂狗,詳見用戶手冊FWDGT_CTL寄存器),重裝載寄存器中的數值就會自動加載到FWDGT的計數器中。

重裝載寄存器(FWDGT_RLD)是一個12位的計數器,這就意味著重裝載最大值為65535,再結合上一節的時鐘分頻,FWDGT設定的最大/最小超時周期見下表:

wKgaomY-0xCARvf1AAEstf88zJE142.png

7.2.2獨立看門狗的使用注意事項

獨立看門狗的時鐘源來自于IRC32K,這個內部時鐘實際上不是非常的準確,所以在設定看門狗重載值和分配器時需要留有一定的余量,防止應用程序由于IRC32K頻率偏差而來不及喂狗,導致不必要的MCU復位。

7.3硬件設計

本實驗我們通過紫藤派開發板LED0的狀態來指示MCU復位情況,用LED1來指示喂狗的情況。

7.4代碼解析

在driver_wdgt.c中定義了獨立看門狗的配置函數drive_fwdgt_config和喂狗函數Feed_fwdgt:

C
void drive_fwdgt_config(uint16_t reload_value, uint8_t prescaler_div)
{
/* 開啟內部32K時鐘 */
rcu_osci_on(RCU_IRC32K);
/* 等待時鐘ready */
while(SUCCESS != rcu_osci_stab_wait(RCU_IRC32K)){
}
/*配置看門狗參數*/
fwdgt_config(reload_value,prescaler_div);
/*開啟看門狗*/
fwdgt_enable();
}

void Feed_fwdgt(void)
{
/* 重裝載計數器 */
fwdgt_counter_reload();
}

以下為main函數代碼:

C
int main(void)
{
uint8_t i;
driver_init();//delay函數初始化
bsp_led_group_init();//LED初始化
bsp_led_on(&LED1);//點亮LED0
delay_ms(2000); //延時2s
bsp_led_off(&LED1);//熄滅LED0
drive_fwdgt_config(625,FWDGT_PSC_DIV64);//獨立看門狗配置
/*閃爍LED1 5次,并每閃爍一次進行喂狗*/
for(i = 0;i<5;i++)
{
delay_ms(500);
bsp_led_toggle(&LED2);
Feed_fwdgt();
printf_log("Feed_fwdgt!/r/n")
}
while (1)
{
}
}

本例程main函數首先進行了延時函數初始化,再初始化LED0和LED1,并將LED0點亮2s鐘后熄滅,然后配置獨立看門狗時鐘預分頻為64分頻,重載值為1000,即超時時間為625/(32K/64)= 1.25s,再每500ms翻轉一次LED1,同時進行喂狗,最后進入while(1)循環。

7.5實驗結果

紫藤派開發板上電后,LED0燈亮,2s鐘后熄滅,隨后LED1閃爍5次,再經過一段時間后LED1燈滅,LED0復亮,周而復始。

教程GD32 MCU方案商聚沃科技原創發布,了解更多GD32 MCU教程,關注聚沃科技官網

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 看門狗
    +關注

    關注

    10

    文章

    543

    瀏覽量

    70324
  • 開發板
    +關注

    關注

    25

    文章

    4542

    瀏覽量

    94712
  • GD32
    +關注

    關注

    7

    文章

    351

    瀏覽量

    23786
收藏 人收藏

    評論

    相關推薦

    GD32F470紫藤開發板使用手冊】第九講 USART-printf打印實驗

    通過本實驗主要學習以下內容: 串口簡介 GD32F470串口工作原理 使用printf打印信息
    的頭像 發表于 05-13 10:14 ?685次閱讀
    【<b class='flag-5'>GD32F470</b><b class='flag-5'>紫藤</b>派<b class='flag-5'>開發板</b><b class='flag-5'>使用手冊</b>】第九講  USART-printf打印<b class='flag-5'>實驗</b>

    GD32F470紫藤開發板使用手冊】第十一講 SPI-SPI NOR FLASH讀寫實驗

    通過本實驗主要學習以下內容: ?SPI簡介 ?GD32F470 SPI簡介 ?SPI NOR FLASH——GD25Q32ESIGR簡介 ?使用GD32F470 SPI接口實現對
    的頭像 發表于 05-17 09:57 ?672次閱讀
    【<b class='flag-5'>GD32F470</b><b class='flag-5'>紫藤</b>派<b class='flag-5'>開發板</b><b class='flag-5'>使用手冊</b>】第十一講 SPI-SPI NOR FLASH讀寫<b class='flag-5'>實驗</b>

    使用GD32F470編譯drv_adc.c時報錯怎么解決?

    使用GD32F470芯片,編譯drv_adc.c時報錯好幾個編譯錯誤,可能是適配GD32F470芯片沒有適配好。 編譯問題如下圖:
    發表于 02-23 06:55

    這是DE2開發板使用手冊

    DE2開發板使用手冊,有興趣的人可以下載看一下
    發表于 06-03 17:58

    QC-CPLD開發板快速使用手冊

    `QC-CPLD開發板快速使用手冊.pdf`
    發表于 10-06 08:11

    FPGA開發板快速使用手冊

    QC-FPGA-C1開發板快速使用手冊.pdf感興趣的可以看看0
    發表于 10-07 09:24

    【零基礎學習STM32】第七:WWDG看門狗實驗——復位ARM

    電路圖7_1 按鍵引腳圖7_2 按鍵在iCore3雙核心開發板中,采用一個獨立的按鍵與STM32F407的PH15相連,限流電阻為1K。三、實驗原理 本次實驗使用的是常開帶復位按鍵,從
    發表于 03-12 15:55

    【連載】【星光閃電STM32F407開發板】第十章 窗口看門狗實驗

    通過CN3的USB口連接電腦和開發板,撥動電源開關給開發板上電,D3電源指示燈點亮,連接好JLINK/ST-LINK下載調試器,打開“實驗7 窗口看門狗
    發表于 11-04 15:32

    stm32獨立看門狗實驗報告

    stm32獨立看門狗實驗報告:所有資源均來自于普中STM32F103開發板相關資料,這是自己購買的一款開發板,如果原作者認為侵權,請聯系我以
    發表于 07-22 07:33

    迅為iMX6ULL開發板使用手冊資料下載

    的知識點,它都有!《嵌入式Linux開發指南》+《開發板使用手冊》+《裸機使用手冊》鏈接:https://pan.baidu.com/s/1Xat4C-cDa2Gi1UwNckNRTw
    發表于 12-02 14:13

    現有的BSP工程可以直接在GD32F470上進行開發

    大家好:有關于GD32F470的BSP工程的問題咨詢,我在GD官網上查照資料了解470和450是很相似的,目前因為項目需要使用的470芯片,想使用rt-thread的操作系統,但是不知
    發表于 08-01 10:39

    看門狗的基本原理和RV-STAR獨立看門狗(FWDGT)的使用方法

    版或 PlatformIO IDE 硬件需求 RV-STAR開發板 看門狗定時器的基本原理 看門狗定時器實際上一個計數器,在計數溢出時會產生一個復位信號,正常情況下首先給
    發表于 08-16 08:13

    YL-51開發板使用手冊

    YL-51開發板使用手冊,YL-51開發板使用手冊YL-51開發板使用手冊YL-51
    發表于 05-10 16:31 ?18次下載

    GD32H757Z海棠派開發板使用手冊第七FWDG-看門狗實驗

    通過本實驗主要學習以下內容: 獨立看門狗的原理 獨立看門狗功能介紹 實現獨立看門狗功能
    的頭像 發表于 05-10 09:37 ?155次閱讀
    【<b class='flag-5'>GD</b>32H757Z海棠派<b class='flag-5'>開發板</b><b class='flag-5'>使用手冊</b>】<b class='flag-5'>第七</b>講 <b class='flag-5'>FWDG-</b><b class='flag-5'>看門狗</b><b class='flag-5'>實驗</b>

    GD32F470紫藤開發板使用手冊】第八講 ADC-規則組多通道采樣實驗

    通過本實驗主要學習以下內容: ?ADC的簡介 ?GD32F470 ADC工作原理 ?DMA原理 ?規則組多通道循環采樣
    的頭像 發表于 05-12 10:00 ?129次閱讀
    【<b class='flag-5'>GD32F470</b><b class='flag-5'>紫藤</b>派<b class='flag-5'>開發板</b><b class='flag-5'>使用手冊</b>】第八講 ADC-規則組多通道采樣<b class='flag-5'>實驗</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>