RM新时代网站-首页

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

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

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

【GD32F470紫藤派開發(fā)板使用手冊(cè)】第七講 FWDG-看門狗實(shí)驗(yàn)

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

7.1實(shí)驗(yàn)內(nèi)容

通過本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容:

  • 獨(dú)立看門狗的原理
  • 獨(dú)立看門狗功能介紹
  • 實(shí)現(xiàn)獨(dú)立看門狗功能

7.2實(shí)驗(yàn)原理

前面講到,看門狗的計(jì)數(shù)值在每一個(gè)計(jì)數(shù)器時(shí)鐘來的時(shí)候減1,那么這個(gè)時(shí)鐘是什么呢,我們來看一下GD32F470的時(shí)鐘樹:

wKgZomY-0tuAXmybAABFzs052pI850.png

從時(shí)鐘樹可以看到,F(xiàn)WDGT的時(shí)鐘來源于IRC32K,這是GD32F470的內(nèi)部時(shí)鐘,典型的頻率值是32KHz。但要注意,這個(gè)IRC32K不是直接連到FWDGT計(jì)數(shù)器的,而是需要經(jīng)過一個(gè)預(yù)分頻器,這個(gè)分頻器大小通過FWDGT_PSC進(jìn)行設(shè)定。

預(yù)分頻寄存器(FWDGT_PSC):

wKgaomY9eV-AOG5kAABcFQ1QEEw925.pngwKgZomY9eWiAWv51AAFYY6ZfqBc364.pngwKgaomY9eY6ASl7jAAFQREG8aQk297.png

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

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

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

重裝載寄存器(FWDGT_RLD):

wKgaomY9eYaAVRGMAABaHu93Q8g730.pngwKgZomY9eaCAClk4AAJfPNzGgew320.png

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

重裝載寄存器(FWDGT_RLD)是一個(gè)12位的計(jì)數(shù)器,這就意味著重裝載最大值為65535,再結(jié)合上一節(jié)的時(shí)鐘分頻,F(xiàn)WDGT設(shè)定的最大/最小超時(shí)周期見下表:

wKgaomY-0xCARvf1AAEstf88zJE142.png

7.2.2獨(dú)立看門狗的使用注意事項(xiàng)

獨(dú)立看門狗的時(shí)鐘源來自于IRC32K,這個(gè)內(nèi)部時(shí)鐘實(shí)際上不是非常的準(zhǔn)確,所以在設(shè)定看門狗重載值和分配器時(shí)需要留有一定的余量,防止應(yīng)用程序由于IRC32K頻率偏差而來不及喂狗,導(dǎo)致不必要的MCU復(fù)位。

7.3硬件設(shè)計(jì)

本實(shí)驗(yàn)我們通過紫藤派開發(fā)板LED0的狀態(tài)來指示MCU復(fù)位情況,用LED1來指示喂狗的情況。

7.4代碼解析

在driver_wdgt.c中定義了獨(dú)立看門狗的配置函數(shù)drive_fwdgt_config和喂狗函數(shù)Feed_fwdgt:

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

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

以下為main函數(shù)代碼:

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

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

7.5實(shí)驗(yàn)結(jié)果

紫藤派開發(fā)板上電后,LED0燈亮,2s鐘后熄滅,隨后LED1閃爍5次,再經(jīng)過一段時(shí)間后LED1燈滅,LED0復(fù)亮,周而復(fù)始。

教程GD32 MCU方案商聚沃科技原創(chuàng)發(fā)布,了解更多GD32 MCU教程,關(guān)注聚沃科技官網(wǎng)

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

    關(guān)注

    10

    文章

    560

    瀏覽量

    70789
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5032

    瀏覽量

    97372
  • GD32
    +關(guān)注

    關(guān)注

    7

    文章

    403

    瀏覽量

    24328
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    GD32開發(fā)實(shí)戰(zhàn)指南(基礎(chǔ)篇) 第17章 看門狗

    開發(fā)環(huán)境: MDK:Keil 5.30 開發(fā)板GD32F207I-EVAL MCU:GD32F207IK GD32 有兩個(gè)
    的頭像 發(fā)表于 06-03 16:00 ?1.1w次閱讀
    <b class='flag-5'>GD</b>32<b class='flag-5'>開發(fā)</b>實(shí)戰(zhàn)指南(基礎(chǔ)篇) 第17章 <b class='flag-5'>看門狗</b>

    GD32F470紫藤開發(fā)板使用手冊(cè)】第九 USART-printf打印實(shí)驗(yàn)

    通過本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容: 串口簡(jiǎn)介 GD32F470串口工作原理 使用printf打印信息
    的頭像 發(fā)表于 05-13 10:14 ?1725次閱讀
    【<b class='flag-5'>GD32F470</b><b class='flag-5'>紫藤</b><b class='flag-5'>派</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>使用手冊(cè)</b>】第九<b class='flag-5'>講</b>  USART-printf打印<b class='flag-5'>實(shí)驗(yàn)</b>

    GD32F470紫藤開發(fā)板使用手冊(cè)】第十一講 SPI-SPI NOR FLASH讀寫實(shí)驗(yàn)

    通過本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容: ?SPI簡(jiǎn)介 ?GD32F470 SPI簡(jiǎn)介 ?SPI NOR FLASH——GD25Q32ESIGR簡(jiǎn)介 ?使用GD32F470 SPI接口實(shí)現(xiàn)對(duì)
    的頭像 發(fā)表于 05-17 09:57 ?1771次閱讀
    【<b class='flag-5'>GD32F470</b><b class='flag-5'>紫藤</b><b class='flag-5'>派</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>使用手冊(cè)</b>】第十一講 SPI-SPI NOR FLASH讀寫<b class='flag-5'>實(shí)驗(yàn)</b>

    【零基礎(chǔ)學(xué)習(xí)STM32】第七:WWDG看門狗實(shí)驗(yàn)——復(fù)位ARM

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

    YL-51開發(fā)板使用手冊(cè)

    YL-51開發(fā)板使用手冊(cè),YL-51開發(fā)板使用手冊(cè)YL-51開發(fā)板使用手冊(cè)YL-51
    發(fā)表于 05-10 16:31 ?21次下載

    51開發(fā)板使用手冊(cè)

    51開發(fā)板使用手冊(cè),感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 11-23 15:45 ?11次下載

    第11 獨(dú)立看門狗

    這一刻的的獨(dú)立看門狗實(shí)驗(yàn)以及使用
    發(fā)表于 02-27 16:18 ?1次下載

    GD32】GD32設(shè)置看門狗

    芯片:GD32F350 運(yùn)行在8M目標(biāo):啟動(dòng)芯片看門狗,定時(shí)喂狗流程1.初始化看門狗時(shí)鐘2.配置看門狗3.定時(shí)喂狗1.初始化看門狗時(shí)鐘啟動(dòng)用
    發(fā)表于 12-02 15:36 ?16次下載
    【<b class='flag-5'>GD</b>32】<b class='flag-5'>GD</b>32設(shè)置<b class='flag-5'>看門狗</b>

    KC705開發(fā)板英文使用手冊(cè)

    KC705開發(fā)板英文使用手冊(cè)
    發(fā)表于 11-01 10:19 ?5次下載

    APT32F102 開發(fā)板使用手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《APT32F102 開發(fā)板使用手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 04-16 09:07 ?0次下載

    GD32F470紫藤開發(fā)板使用手冊(cè)】第二 GPIO-按鍵查詢實(shí)驗(yàn)

    通過本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容: GPIO輸入功能原理; 按鍵查詢輸入檢測(cè)原理;
    的頭像 發(fā)表于 04-30 11:39 ?696次閱讀
    【<b class='flag-5'>GD32F470</b><b class='flag-5'>紫藤</b><b class='flag-5'>派</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>使用手冊(cè)</b>】第二<b class='flag-5'>講</b> GPIO-按鍵查詢<b class='flag-5'>實(shí)驗(yàn)</b>

    GD32F470紫藤開發(fā)板使用手冊(cè)】第五 PMU-低功耗實(shí)驗(yàn)

    通過本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容: PMU原理; 低功耗的進(jìn)入以及退出操作
    的頭像 發(fā)表于 05-07 09:29 ?676次閱讀
    【<b class='flag-5'>GD32F470</b><b class='flag-5'>紫藤</b><b class='flag-5'>派</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>使用手冊(cè)</b>】第五<b class='flag-5'>講</b>  PMU-低功耗<b class='flag-5'>實(shí)驗(yàn)</b>

    GD32H757Z海棠開發(fā)板使用手冊(cè)第七 FWDG-看門狗實(shí)驗(yàn)

    通過本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容: 獨(dú)立看門狗的原理 獨(dú)立看門狗功能介紹 實(shí)現(xiàn)獨(dú)立看門狗功能
    的頭像 發(fā)表于 05-10 09:37 ?754次閱讀
    【<b class='flag-5'>GD</b>32H757Z海棠<b class='flag-5'>派</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>使用手冊(cè)</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'>實(shí)驗(yàn)</b>

    GD32F470紫藤開發(fā)板使用手冊(cè)】第八 ADC-規(guī)則組多通道采樣實(shí)驗(yàn)

    通過本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容: ?ADC的簡(jiǎn)介 ?GD32F470 ADC工作原理 ?DMA原理 ?規(guī)則組多通道循環(huán)采樣
    的頭像 發(fā)表于 05-12 10:00 ?751次閱讀
    【<b class='flag-5'>GD32F470</b><b class='flag-5'>紫藤</b><b class='flag-5'>派</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>使用手冊(cè)</b>】第八<b class='flag-5'>講</b> ADC-規(guī)則組多通道采樣<b class='flag-5'>實(shí)驗(yàn)</b>

    GD32F303紅楓開發(fā)板使用手冊(cè)】第二十 SPI-SPI NAND FLASH讀寫實(shí)驗(yàn)

    通過本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容: ?SPI通信協(xié)議,參考19.2.1東方紅開發(fā)板使用手冊(cè) ?GD32F303 SPI操作方式,參考19.2.2東方紅
    的頭像 發(fā)表于 06-20 09:50 ?886次閱讀
    【<b class='flag-5'>GD32F</b>303紅楓<b class='flag-5'>派</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>使用手冊(cè)</b>】第二十<b class='flag-5'>講</b> SPI-SPI NAND FLASH讀寫<b class='flag-5'>實(shí)驗(yàn)</b>
    RM新时代网站-首页