吴忠躺衫网络科技有限公司

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

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

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

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

嵌入式大雜燴 ? 來(lái)源:嵌入式大雜燴 ? 作者:嵌入式大雜燴 ? 2023-06-03 16:00 ? 次閱讀

開(kāi)發(fā)環(huán)境:

MDK:Keil 5.30

開(kāi)發(fā)板:GD32F207I-EVAL

MCU:GD32F207IK

GD32 有兩個(gè)看門狗一個(gè)是獨(dú)立看門狗,另外一個(gè)是窗口看門狗 ,獨(dú)立看門狗號(hào)稱寵物狗,窗口看門狗號(hào)稱警犬,本章我們主要分析這兩只看門狗的功能框圖和它的應(yīng)用。

1 獨(dú)立看門狗

1.1 獨(dú)立看門狗工作原理

獨(dú)立看門狗用通俗一點(diǎn)的話來(lái)解釋就是一個(gè) 12 位的遞減計(jì)數(shù)器, 當(dāng)計(jì)數(shù)器的值從某個(gè)值一直減到 0 的時(shí)候,系統(tǒng)就會(huì)產(chǎn)生一個(gè)復(fù)位信號(hào),即 IWDG_RESET 。如果在計(jì)數(shù)沒(méi)減到 0 之前,刷新了計(jì)數(shù)器的值的話,那么就不會(huì)產(chǎn)生復(fù)位信號(hào),這個(gè)動(dòng)作就是我們經(jīng)常說(shuō)的__喂狗__。 看門狗功能由 VDD 電壓域供電,在停止模式和待機(jī)模式下仍能工作

獨(dú)立看門狗由內(nèi)部專門的 40Khz 低速時(shí)鐘驅(qū)動(dòng),即使主時(shí)鐘發(fā)生故障,它也仍然有效 。這里需要注意獨(dú)立看門狗的時(shí)鐘是一個(gè)內(nèi)部 RC 時(shí)鐘,所以并不是準(zhǔn)確的 40Khz,而是在 30~60Khz 之間的一個(gè)可變化的時(shí)鐘,只是我們?cè)诠浪愕臅r(shí)候,以 40Khz 的頻率來(lái)計(jì)算,看門狗對(duì)時(shí)間的要求不是很精確,所以,時(shí)鐘有些偏差,都是可以接受的。

1684419441252m4efbppgdj

獨(dú)立看門狗的架構(gòu)是很簡(jiǎn)單的,本質(zhì)就是一個(gè)遞減計(jì)數(shù)器,和Systick有些類似,只是運(yùn)行在低速時(shí)鐘下,另外還有寄存器訪問(wèn)保護(hù)功能。

【注】看門狗功能處于VDD供電區(qū),即在深度睡眠和待機(jī)模式時(shí)仍能正常工作。

FWDGT最適合應(yīng)用于那些需要看門狗作為一個(gè)在主程序之外,能夠完全獨(dú)立工作,并且對(duì)時(shí)間精度要求較低的場(chǎng)合。WWDGT最適合那些要求看門狗在精確計(jì)時(shí)窗口起作用的應(yīng)用程序。

16844194417055lupm5ut7r

【注】這些時(shí)間是按照40kHz時(shí)鐘給出。實(shí)際上,MCU內(nèi)部的RC頻率會(huì)在30kHz到60kHz之間變化。此外,即使RC振蕩器的頻率是精確的,確切的時(shí)序仍然依賴于APB接口時(shí)鐘與RC振蕩器時(shí)鐘之間的相位差,因此總會(huì)有一個(gè)完整的RC周期是不確定的。通過(guò)對(duì)IRC40K進(jìn)行校準(zhǔn)可獲得相對(duì)精確的看門狗超時(shí)時(shí)間。

1.2 獨(dú)立看門狗的寄存器描述

首先是鍵值寄存器FWDGT_CTL,該寄存器的各位描述如下圖所示。

1684419441991d3q9ju3ore

在鍵值寄存器(FWDGT_CTL)中寫入 0xCCCC,開(kāi)始啟用獨(dú)立看門狗;此時(shí)計(jì)數(shù)器開(kāi)始從其復(fù)位值 0xFFF 遞減計(jì)數(shù)。當(dāng)計(jì)數(shù)器計(jì)數(shù)到末尾 0x000 時(shí),會(huì)產(chǎn)生一個(gè)復(fù)位信號(hào)(FWDGT_RESET)。無(wú)論何時(shí),只要鍵寄存器FWDGT_CTL中被寫入 0xAAAA,F(xiàn)WDGT_RLD中的值就會(huì)被重新加載到計(jì)數(shù)器中從而避免產(chǎn)生看門狗復(fù)位 。

FWDGT_PSC和FWDGT_RLD寄存器具有寫保護(hù)功能。要修改這兩個(gè)寄存器的值,必須先向FWDGT_CTL寄存器中寫入 0x5555。將其他值寫入這個(gè)寄存器將會(huì)打亂操作順序,寄存器將重新被保護(hù)。重裝載操作(即寫入 0xAAAA)也會(huì)啟動(dòng)寫保護(hù)功能。預(yù)分頻寄存器(FWDGT_PSC)用來(lái)設(shè)置看門狗時(shí)鐘的分頻系數(shù)。重裝載寄存器用來(lái)保存重裝載到計(jì)數(shù)器中的值,該寄存器也是一個(gè) 32位寄存器,但是只有低 12 位是有效的。

1684419442353148v2b0yj2

1684419442677gjs4287pj5

1.3 獨(dú)立看門狗的具體代碼實(shí)現(xiàn)

獨(dú)立看門狗一般用來(lái)檢測(cè)和解決由程序引起的故障 ,比如一個(gè)程序正常運(yùn)行的時(shí)間是50ms,在運(yùn)行完這段程序之后緊接著進(jìn)行喂狗,我們?cè)O(shè)置獨(dú)立看門狗的定時(shí)溢出時(shí)間為60ms,比我們需要監(jiān)控的程序 50ms 多一點(diǎn),如果超過(guò) 60ms 還沒(méi)有喂狗,那就說(shuō)明我們監(jiān)控的程序出故障了,跑飛了,那么就會(huì)產(chǎn)生系統(tǒng)復(fù)位,讓程序重新運(yùn)行。

獨(dú)立看門的啟動(dòng)過(guò)程可以按如下步驟實(shí)現(xiàn)。

1)取消寄存器寫保護(hù)(向FWDGT_CTL寫入 0X5555)

通過(guò)這步,我們?nèi)∠鸉WDGT_PSC和FWDGT_RLD的寫保護(hù),使后面可以操作這兩個(gè)寄存器,設(shè)置FWDGT_PSC和FWDGT_RLD的值。 這在庫(kù)函數(shù)中的實(shí)現(xiàn)函數(shù)是:

IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);

這個(gè)函數(shù)非常簡(jiǎn)單,顧名思義就是開(kāi)啟/取消寫保護(hù),也就是使能/失能寫權(quán)限。這里的IWDG_WriteAccess_Enable的值就是0x5555,而IWDG_WriteAccess_Disable就是0x0000。

2)設(shè)置獨(dú)立看門狗的預(yù)分頻系數(shù)和重裝載值

設(shè)置看門狗的分頻系數(shù)的函數(shù)是:

void IWDG_SetPrescaler(uint8_t IWDG_Prescaler); //設(shè)置 IWDG 預(yù)分頻值

設(shè)置看門狗的重裝載值的函數(shù)是:

void IWDG_SetReload(uint16_t Reload); //設(shè)置 IWDG 重裝載值

設(shè)置好看門狗的分頻系數(shù) prer 和重裝載值就可以知道看門狗的喂狗時(shí)間(也就是看門狗溢出時(shí)間),該時(shí)間的計(jì)算方式為:

Tout=((4×2^prer) ×rlr) /40

其中 Tout 為看門狗溢出時(shí)間(單位為 ms); prer 為看門狗時(shí)鐘預(yù)分頻值(FWDGT_PSC值),范圍為 0~7;rlr為看門狗的重裝載值(FWDGT_RLD的值);

比如我們?cè)O(shè)定 prer 值為 4, rlr 值為 625,那么就可以得到 Tout=64×625/40=1000ms,這樣,看門狗的溢出時(shí)間就是 1s,只要你在一秒鐘之內(nèi),有一次寫入 0XAAAA 到FWDGT_CTL,就不會(huì)導(dǎo)致看門狗復(fù)位(當(dāng)然寫入多次也是可以的)。這里需要提醒大家的是,看門狗的時(shí)鐘不是準(zhǔn)確的 40Khz,所以在喂狗的時(shí)候,最好不要太晚了,否則,有可能發(fā)生看門狗復(fù)位。

3) 啟動(dòng)看門狗(向FWDGT_CTL寫入 0XCCCC)

庫(kù)函數(shù)里面啟動(dòng)獨(dú)立看門狗的函數(shù)是:

IWDG_Enable(); //使能 IWDG

通過(guò)這句,來(lái)啟動(dòng)GD32 的看門狗。注意FWDGT在一旦啟用,就不能再被關(guān)閉!想要關(guān)閉,只能重啟,并且重啟之后不能打開(kāi)FWDGT,否則問(wèn)題依舊,所以在這里提醒大家,如果不用 FWDGT的話,就不要去打開(kāi)它,免得麻煩。

4)重載計(jì)數(shù)值喂狗(向FWDGT_CTL寫入 0XAAAA)

庫(kù)函數(shù)里面重載計(jì)數(shù)值的函數(shù)是:

IWDG_ReloadCounter(); //按照 IWDG 重裝載寄存器的值重裝載 IWDG 計(jì)數(shù)器

通過(guò)這句,將使GD32重新加載FWDGT_RLD的值到看門狗計(jì)數(shù)器里面,即實(shí)現(xiàn)獨(dú)立看門狗的喂狗操作。

因此獨(dú)立看門狗的配置如下:

/**
  * @brief  看門狗初始化
  * @param  None
  * @retval None
  */
void fwdgt_configuration(void)
{
    //使能寄存器 寫功能
    fwdgt_write_enable();
    //設(shè)置預(yù)分頻 40K/64=0.625k 一個(gè)周期是 1.6ms
    //設(shè)置初值
    fwdgt_config(800, FWDGT_PSC_DIV64); //800*1.6ms=1.28S
    //喂狗
    fwdgt_counter_reload();
    //使能獨(dú)立看門狗
    fwdgt_enable();
}

主函數(shù)如下:

/*
    brief      main function
    param[in]  none
    param[out] none
    retval     none
*/
int main(void)
{
    /* systick init*/
    sysTick_init();

    //usart init 115200 8-N-1
    com_init(COM1, 115200, 0, 1);

    /*獨(dú)立看門狗初始化*/
    fwdgt_configuration();

    printf("Independent watchdog
");

    while(1)
    {
        //喂狗
        fwdgt_counter_reload();
        printf("
Feed the dog
");
        delay_ms(800);
    }
}

主函數(shù)很簡(jiǎn)單,初始化獨(dú)立看門狗后,在主循環(huán)里不斷喂狗即可。

1.4 獨(dú)立看門狗實(shí)現(xiàn)現(xiàn)象

編譯無(wú)誤,打開(kāi)串口,現(xiàn)象如下:

1684419443035mtliv35net

當(dāng)注釋掉喂狗語(yǔ)句后,板子就會(huì)不斷重啟,因?yàn)闆](méi)有喂狗就導(dǎo)致板子不斷復(fù)位。

1684419443446py4l3eig4j

2 窗口看門狗

2.1 窗口看門狗工作原理

窗口看門狗通常被用來(lái)監(jiān)測(cè),由外部干擾或不可預(yù)見(jiàn)的邏輯條件造成的應(yīng)用程序背離正常的運(yùn)行序列而產(chǎn)生的軟件故障 。窗口看門狗跟獨(dú)立看門狗一樣,也是一個(gè)遞減計(jì)數(shù)器不斷的往下遞減計(jì)數(shù),當(dāng)減到一個(gè)__固定值 0X40 時(shí)還不喂狗的話,產(chǎn)生復(fù)位,這個(gè)值叫窗口的下限, 是固定的值,不能改變。這個(gè)是跟獨(dú)立看門狗類似的地方,不同的地方是窗口看門狗的計(jì)數(shù)器的值在減到某一個(gè)數(shù)之前喂狗的話也會(huì)產(chǎn)生復(fù)位,這個(gè)值叫窗口的上限,上限值由用戶獨(dú)立設(shè)置。因此__窗口看門狗計(jì)數(shù)器的值必須在上窗口和下窗口之間才可以喂狗 ,除非遞減計(jì)數(shù)器的值在T6位變成0前被刷新,看門狗電路在達(dá)到預(yù)置的時(shí)間周期時(shí),會(huì)產(chǎn)生一個(gè)MCU復(fù)位。在遞減計(jì)數(shù)器達(dá)到窗口寄存器數(shù)值之前,如果7位的遞減計(jì)數(shù)器數(shù)值(在控制寄存器中)被刷新,那么也將產(chǎn)生一個(gè)MCU復(fù)位。這表明遞減計(jì)數(shù)器需要在一個(gè)有限的時(shí)間窗口中被刷新。

1684419443918kkzkq6nwpw

窗口看門狗時(shí)鐘來(lái)自 PCLK1, PCLK1 最大是60M,由 RCC 時(shí)鐘控制器開(kāi)啟。計(jì)數(shù)器時(shí)鐘由 CK 計(jì)時(shí)器時(shí)鐘經(jīng)過(guò)預(yù)分頻器分頻得到,分頻系數(shù)由配置寄存器 CFG的位 8:7 PSC[1:0]配置,可以是[0,1,2,3],其中 CK 計(jì)時(shí)器時(shí)鐘=PCLK1/4096,除以 4096是手冊(cè)規(guī)定的,沒(méi)有為什么。所以計(jì)數(shù)器的時(shí)鐘 CNT_CK=PCLK1/4096/(2^ PSC),這就可以算出計(jì)數(shù)器減一個(gè)數(shù)的時(shí)間 T= 1/CNT_CK = Tpclk1 * 4096 * (2^ PSC)

窗口看門狗的計(jì)數(shù)器是一個(gè)遞減計(jì)數(shù)器,共有 7 位,其值存在控制寄存器 CTL的位 6:0,即 CNT[6:0],當(dāng) 7 個(gè)位全部為 1 時(shí)是 0X7F,這個(gè)是最大值,當(dāng)遞減到 CNT6 位變成 0 時(shí),即從0X40 變?yōu)?0X3F 時(shí)候,會(huì)產(chǎn)生看門狗復(fù)位。這個(gè)值 0X40 是看門狗能夠遞減到的最小值,所以計(jì)數(shù)器的值只能是: 0X40~0X7F 之間 ,實(shí)際上真正用來(lái)計(jì)數(shù)的是 CNT[5:0]。當(dāng)遞減計(jì)數(shù)器遞減到 0X40 的時(shí)候,還不會(huì)馬上產(chǎn)生復(fù)位,如果使能了提前喚醒中斷:WWDGT_CFG寄存器的EWIE位置 1,則產(chǎn)生提前喚醒中斷,如果真進(jìn)入了這個(gè)中斷的話,就說(shuō)明程序肯定是出問(wèn)題了,進(jìn)入中斷后就是作重要的一些保護(hù)操作,如保存數(shù)據(jù)等。

我們知道窗口看門狗必須在計(jì)數(shù)器的值在一個(gè)范圍內(nèi)才可以喂狗,其中下窗口的值是固定的 0X40,上窗口的值可以改變,具體的由配置寄存器 CFG的位 6:0 WIN[6:0]設(shè)置。其值必須大于 0X40,如果小于或者等于 0X40 就是失去了窗口的價(jià)值,而且也不能大于計(jì)數(shù)器的值,所以必須得小于 0X7F。因此我們?cè)O(shè)置的窗口上限值在0X40-0X7F之間。

16844194442000c9liyxhbd

上窗口時(shí)間:T_min = 4096 * (2^ PSC)*(T - W + 1)/60 (us)

下窗口時(shí)間:T_max = 4096 * (2^ PSC)*(T - 0x40 + 1)/60 (us)

2.2 窗口看門狗的寄存器描述

首先介紹控制寄存器(WWDGT_CTL),該寄存器的各位描述如圖所示。

1684419444517or1nkmr6vo

可以看出,這里我們的WWDGT_CTL只有低八位有效,CNT[6:0]用來(lái)存儲(chǔ)看門狗的計(jì)數(shù)器值,隨時(shí)更新的,每個(gè)窗口看門狗計(jì)數(shù)周期(4096×2^ PSC)減 1。當(dāng)該計(jì)數(shù)器的值從 0X40 變?yōu)?0X3F 的時(shí)候,將產(chǎn)生看門狗復(fù)位。WDGTEN位則是看門狗的激活位,該位由軟件置 1,以啟動(dòng)看門狗,并且一定要注意的是該位一旦設(shè)置,就只能在硬件復(fù)位后才能清零了。

窗口看門狗的第二個(gè)寄存器是配置寄存器(WWDGT_CFG),該寄存器的各位及其描述如圖所示。

16844194448215hygiqubm7

該寄存器中的 EWIE是提前喚醒中斷,也就是在快要產(chǎn)生復(fù)位的前一段時(shí)間(CNT[6:0]=0X40) 來(lái)提醒我們,需要進(jìn)行喂狗了,否則將復(fù)位!因此,我們一般用該位來(lái)設(shè)置中斷,當(dāng)窗口看門狗的計(jì)數(shù)器值減到 0X40 的時(shí)候,如果該位設(shè)置,并開(kāi)啟了中斷,則會(huì)產(chǎn)生中斷,我們可以在中斷里面向WWDGT_CTL重新寫入計(jì)數(shù)器的值,來(lái)達(dá)到喂狗的目的。注意這里在進(jìn)入中斷后, 必須在不大于 1 個(gè)窗口看門狗計(jì)數(shù)周期的時(shí)間(在 PCLK1 頻率為 60M 且PSC為 0 的條件下,該時(shí)間為68.2us)內(nèi)重新寫WWDGT_CTL,否則,看門狗將產(chǎn)生復(fù)位!

最后我們要介紹的是狀態(tài)寄存器(WWDGT_STAT,該寄存器用來(lái)記錄當(dāng)前是否有提前喚醒的標(biāo)志。該寄存器僅有位 0 有效,其他都是保留位。當(dāng)計(jì)數(shù)器值達(dá)到 40h 時(shí),此位由硬件置 1。它必須通過(guò)軟件寫 0 來(lái)清除。對(duì)此位寫 1 無(wú)效。 即使中斷未被使能, 在計(jì)數(shù)器的值達(dá)到0X40的時(shí)候,此位也會(huì)被置1。

16844194451087ggtkpcsby

2.3 窗口看門狗具體代碼實(shí)現(xiàn)

啟用GD32 的窗口看門狗如下步驟。

1)使能 WWDGT時(shí)鐘

WWDGT不同于 FWDGT, FWDGT有自己獨(dú)立的 40Khz 時(shí)鐘,不存在使能問(wèn)題。而 WWDGT使用的是 PCLK1 的時(shí)鐘,需要先使能時(shí)鐘。 方法是:

rcu_periph_clock_enable(RCU_WWDGT); // WWDGT時(shí)鐘使能

2)設(shè)置初始值、窗口值和分頻數(shù)

設(shè)置窗口值的函數(shù)是:

void wwdgt_config(uint16_t counter, uint16_t window, uint32_t prescaler)

3)開(kāi)啟 WWDGT中斷并分組

開(kāi)啟WWDGT中斷的函數(shù)為:

nvic_priority_group_set(NVIC_PRIGROUP_PRE2_SUB2);
nvic_irq_enable(WWDGT_IRQn, 2U, 0U);
wwdgt_interrupt_enable (); //開(kāi)啟窗口看門狗中斷

4)使能看門狗

這一步在庫(kù)函數(shù)里面是通過(guò)一個(gè)函數(shù)實(shí)現(xiàn)的:

void wwdgt_enable(void);

該函數(shù)使能窗口看門狗。

5)編寫中斷服務(wù)函數(shù)

在最后,還是要編寫窗口看門狗的中斷服務(wù)函數(shù),通過(guò)該函數(shù)來(lái)喂狗,喂狗要快,否則當(dāng)窗口看門狗計(jì)數(shù)器值減到 0X3F 的時(shí)候,就會(huì)引起軟復(fù)位了。在中斷服務(wù)函數(shù)里面也要將狀態(tài)寄存器的 EWIF 位清空。

/**
  * @brief  This function handles WWDG Handler.
  * @param  None
  * @retval None
  */
void WWDGT_IRQHandler (void)
{
   wwdgt_counter_update(0x7F);
   wwdgt_flag_clear();
   printf("WWDG");
}

【小貼士】當(dāng)然啦,最好不要在中斷服務(wù)程序中喂狗,標(biāo)準(zhǔn)的寫法是在中斷服務(wù)程序中做重要的操作,也就是復(fù)位前的操作,喂狗在主函數(shù)中進(jìn)行。

窗口配置如下:

/**
  * @brief  看門狗初始化
  * @param  None
  * @retval None
  */
void wwdog_configuration(void)
{
    //窗口看門狗時(shí)鐘
    rcu_periph_clock_enable(RCU_WWDGT);

    //設(shè)置WWDG預(yù)分頻數(shù)值,則WWDG時(shí)鐘頻率=(PCK1(60M)/4096)/8
    //窗口上邊界數(shù)值
    wwdgt_config(0x7F, 0x5F, WWDGT_CFG_PSC_DIV8);

    //使能窗口看門狗
    wwdgt_enable();

    //清除提前喚醒中斷標(biāo)志
    wwdgt_flag_clear();

    //開(kāi)啟窗口看門狗中斷
    wwdgt_interrupt_enable();

    nvic_priority_group_set(NVIC_PRIGROUP_PRE2_SUB2);
    nvic_irq_enable(WWDGT_IRQn, 2U, 0U);
}

主函數(shù)如下:

/*
    brief      main function
    param[in]  none
    param[out] none
    retval     none
*/
int main(void)
{
    /* systick init*/
    sysTick_init();

    //usart init 115200 8-N-1
    com_init(COM1, 115200, 0, 1);

    /*窗口看門狗初始化*/
    wwdog_configuration();

    printf("Window watchdog");

    while(1)
    {
        printf("https://www.bruceou.cn/");
        delay_ms(800);
    }
}

4 窗口看門狗實(shí)現(xiàn)現(xiàn)象

編譯無(wú)誤,打開(kāi)串口,現(xiàn)象如下:

11111.png

聲明:本文內(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)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17317

    瀏覽量

    352630
  • 看門狗
    +關(guān)注

    關(guān)注

    10

    文章

    566

    瀏覽量

    70945
  • 計(jì)數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2261

    瀏覽量

    94981
  • keil
    +關(guān)注

    關(guān)注

    69

    文章

    1214

    瀏覽量

    167270
  • GD32
    +關(guān)注

    關(guān)注

    7

    文章

    413

    瀏覽量

    24467
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32中的獨(dú)立看門狗和窗口看門狗是什么

    在早期的MCU中是沒(méi)有看門狗這種東西的,所以產(chǎn)品就很容易出現(xiàn)死機(jī),跑飛的情況。為了避免這種情況的出現(xiàn),后期的MCU都集成了看門狗的功能。但是目前看門狗發(fā)展到今天基本上分為兩大類:獨(dú)立看門狗
    的頭像 發(fā)表于 02-20 17:47 ?2882次閱讀
    STM32中的獨(dú)立<b class='flag-5'>看門狗</b>和窗口<b class='flag-5'>看門狗</b>是什么

    GD32開(kāi)發(fā)實(shí)戰(zhàn)指南(基礎(chǔ)) 12 ADC

    看門狗特性允許應(yīng)用程序檢測(cè)輸入電壓是否超出用戶定義的高/低閥值。ADC 的輸入時(shí)鐘不得超過(guò)28MHz,它是由PCLK2經(jīng)分頻產(chǎn)生。
    的頭像 發(fā)表于 05-16 09:03 ?1.1w次閱讀
    <b class='flag-5'>GD32</b><b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>實(shí)戰(zhàn)</b><b class='flag-5'>指南</b>(基礎(chǔ)<b class='flag-5'>篇</b>) <b class='flag-5'>第</b>12<b class='flag-5'>章</b> ADC

    GD32開(kāi)發(fā)實(shí)戰(zhàn)指南(基礎(chǔ)) 16 RTC

    開(kāi)發(fā)環(huán)境: MDK:Keil 5.30 開(kāi)發(fā)板:GD32F207I-EVAL MCU:GD32F207IK 1 RTC工作原理 1.1 RTC簡(jiǎn)介
    的頭像 發(fā)表于 05-18 22:14 ?7290次閱讀
    <b class='flag-5'>GD32</b><b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>實(shí)戰(zhàn)</b><b class='flag-5'>指南</b>(基礎(chǔ)<b class='flag-5'>篇</b>) <b class='flag-5'>第</b>16<b class='flag-5'>章</b> RTC

    GD32 MCU原理及固件庫(kù)開(kāi)發(fā)指南》+讀后感

    2介紹GD32 MCU快速入門與開(kāi)發(fā)平臺(tái)搭建的方法,包括對(duì)軟硬件開(kāi)發(fā)平臺(tái)、調(diào)試工具、GD32
    發(fā)表于 06-06 21:52

    stm32看門狗時(shí)間計(jì)算 獨(dú)立看門狗和窗口看門狗的特性是什么

    本文為您講解STM看門狗時(shí)間計(jì)算(時(shí)限)與頻率計(jì)算,獨(dú)立看門狗和窗口看門狗的特性、區(qū)別與聯(lián)系。
    發(fā)表于 10-10 10:41 ?8795次閱讀

    什么是stm32看門狗?獨(dú)立看門狗和窗口看門狗工作原理解析

    stm32有兩個(gè)看門狗,獨(dú)立看門狗和窗口看門狗,其實(shí)兩者的功能是類似的,只是喂狗的限制時(shí)間不同。 獨(dú)立看門狗
    的頭像 發(fā)表于 11-06 11:48 ?2.8w次閱讀
    什么是stm32<b class='flag-5'>看門狗</b>?獨(dú)立<b class='flag-5'>看門狗</b>和窗口<b class='flag-5'>看門狗</b>工作原理解析

    STM32看門狗配置(獨(dú)立看門狗IWDG和窗口看門狗WWDG)

    stm32自帶兩個(gè)看門狗模塊,獨(dú)立看門狗IWDG和窗口看門狗WWDG。看門狗主要作用是可用來(lái)檢測(cè)和解決由軟件錯(cuò)誤引起的故障;當(dāng)計(jì)數(shù)器達(dá)到給定的超時(shí)值時(shí),觸發(fā)一個(gè)中斷(僅適用于窗口型
    發(fā)表于 11-09 17:17 ?8476次閱讀
    STM32<b class='flag-5'>看門狗</b>配置(獨(dú)立<b class='flag-5'>看門狗</b>IWDG和窗口<b class='flag-5'>看門狗</b>WWDG)

    PIC24H系列中文參考手冊(cè)—09 看門狗定時(shí)器和節(jié)能模式

    PIC24H系列中文參考手冊(cè)—09 看門狗定時(shí)器和節(jié)能模式
    發(fā)表于 05-25 17:19 ?14次下載

    MCU獨(dú)立看門狗與窗口看門狗的區(qū)別

    早期的MCU沒(méi)有看門狗,就容易引起有些產(chǎn)品死機(jī)了不能重啟工作。為了避免這個(gè)問(wèn)題,后期的MCU在內(nèi)部集成了看門狗的功能。為了滿足更多使用場(chǎng)景,現(xiàn)在很多MCU都集成了兩個(gè)看門狗:獨(dú)立看門狗
    發(fā)表于 10-28 20:06 ?8次下載
    MCU獨(dú)立<b class='flag-5'>看門狗</b>與窗口<b class='flag-5'>看門狗</b>的區(qū)別

    GD32GD32設(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'>GD32</b>】<b class='flag-5'>GD32</b>設(shè)置<b class='flag-5'>看門狗</b>

    STM32學(xué)習(xí)心得十六:獨(dú)立看門狗實(shí)驗(yàn)

    記錄一下,方便以后翻閱~主要內(nèi)容:1) 獨(dú)立看門狗概述;2) 常用寄存器和庫(kù)函數(shù)配置;3) 獨(dú)立看門狗實(shí)驗(yàn)代碼解讀。官方資料:《STM32中文參考手冊(cè)V10》17
    發(fā)表于 12-27 18:44 ?6次下載
    STM32學(xué)習(xí)心得十六:獨(dú)立<b class='flag-5'>看門狗</b>實(shí)驗(yàn)

    STM32:獨(dú)立看門狗、窗口看門狗的配置

    STM32單片機(jī)的看門狗有獨(dú)立看門狗和窗口看門狗之分,這兩者的工作原理卻完全不同。
    發(fā)表于 02-08 16:15 ?18次下載
    STM32:獨(dú)立<b class='flag-5'>看門狗</b>、窗口<b class='flag-5'>看門狗</b>的配置

    STM32中的獨(dú)立看門狗和窗口看門狗

    一、前言 在早期的MCU中是沒(méi)有看門狗這種東西的,所以產(chǎn)品就很容易出現(xiàn)死機(jī),跑飛的情況。為了避免這種情況的出現(xiàn),后期的MCU都集成了看門狗的功能。但是目前看門狗發(fā)展到今天基本上分為兩大類:獨(dú)立
    的頭像 發(fā)表于 12-22 16:58 ?2229次閱讀

    STM32中的獨(dú)立看門狗和窗口看門狗

    在早期的MCU中是沒(méi)有看門狗這種東西的,所以產(chǎn)品就很容易出現(xiàn)死機(jī),跑飛的情況。為了避免這種情況的出現(xiàn),后期的MCU都集成了看門狗的功能。但是目前看門狗發(fā)展到今天基本上分為兩大類:獨(dú)立看門狗
    的頭像 發(fā)表于 01-30 14:38 ?1434次閱讀
    STM32中的獨(dú)立<b class='flag-5'>看門狗</b>和窗口<b class='flag-5'>看門狗</b>

    調(diào)試模式下如何調(diào)試看門狗

    大家在調(diào)試GD32 MCU系統(tǒng)的時(shí)候,若開(kāi)了看門狗外設(shè),是否會(huì)碰到進(jìn)入調(diào)試模式看門狗就會(huì)咬造成無(wú)法調(diào)試的問(wèn)題?
    的頭像 發(fā)表于 02-23 09:30 ?1322次閱讀
    調(diào)試模式下如何調(diào)試<b class='flag-5'>看門狗</b>?
    奔驰百家乐官网可信吗| 百家乐官网如何计算| 百家乐翻天百度影音| 百家乐注册就送| 下载百家乐官网棋牌大厅| 利来国际娱乐网| 太阳城菲律宾官网| 百家乐图淑何看| 新濠百家乐官网的玩法技巧和规则 | 网上百家乐群的微博| 百家乐博彩技巧视频| 百家乐官网真人游戏娱乐| 百家乐官网平台有什么优势| 优博在线娱乐| 大发888娱乐城下| 百家乐免费赌博软件| 天玉经24山水法| 百家乐官网强弱走势图| 在线百家乐官网安卓| 新化县| 娱乐城首存| 大发888官方下载删除| 百家乐有没有破解之法| 百家乐视频游戏世界| 百家乐官网筹码14克粘土| 澳门百家乐官网网上赌博| 百家乐官网和局投注法| 五河县| 永利高足球博彩网| 红桃k娱乐城备用网址| 大发888娱乐城欢迎您| V博百家乐的玩法技巧和规则| 百家乐平台网| 百家乐游戏看路| 百家乐官网平注资讯| 百樂坊百家乐官网的玩法技巧和规则| 线上百家乐官网| 澳门百家乐官网现场真人版 | 励骏会百家乐官网的玩法技巧和规则| 百家乐官网打鱼秘籍| 百家乐官网赌场程序|