色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

獨(dú)立看門(mén)狗的一點(diǎn)經(jīng)驗(yàn)

冬至子 ? 來(lái)源:魚(yú)鷹Osprey ? 作者:魚(yú)鷹Osprey ? 2023-05-24 16:00 ? 次閱讀

stm32基本都內(nèi)置兩種看門(mén)狗(另外還有外置的看門(mén)狗芯片),窗口看門(mén)狗和獨(dú)立看門(mén)狗,兩種看門(mén)狗的使用方法和應(yīng)用場(chǎng)景各不相同,今天主要講講最常用的獨(dú)立看門(mén)狗(工作這么多年,沒(méi)見(jiàn)誰(shuí)用過(guò)窗口看門(mén)狗,這種估計(jì)在時(shí)序嚴(yán)格的場(chǎng)合會(huì)用上)。

所謂獨(dú)立(Independent watchdog),就是該看門(mén)狗有獨(dú)立的時(shí)鐘源供看門(mén)狗使用,VIP專屬。這樣即使程序跑飛,或者主時(shí)鐘掛掉,照樣運(yùn)行。但是精度嘛,你懂的(VIP用戶一般比較飄)。

所謂看門(mén)狗,外形雖然不像(一堆電子電路,肯定不像),但行為真的狗,還是一條瘋狗。為啥這么說(shuō)呢?

這只狗一定要在規(guī)定以內(nèi)的時(shí)間(這個(gè)時(shí)間自己設(shè)置)喂食,超出一點(diǎn)都不行,否則就咬人(復(fù)位整個(gè)程序,讓你的人生重新來(lái)過(guò))

但是瘋狗用的好,就是一條專業(yè)的好狗,比誰(shuí)都敬業(yè)(雖然會(huì)有點(diǎn)飄哈,因此喂狗的時(shí)間不能卡太死,需要有充足的余量)。所以絕大部分產(chǎn)品都會(huì)用上看門(mén)狗,以防意外情況發(fā)生,可以有重頭再來(lái)的機(jī)會(huì)。

但是喂狗也有方法,不能隨便喂,不然狗的行為就不專業(yè)了(該復(fù)位的時(shí)候不復(fù)位)。所以需要專業(yè)的調(diào)教。

比如,喂狗的地方一般只有一個(gè)地方,并且是一定會(huì)執(zhí)行的。

裸機(jī)時(shí),一般放主循環(huán)while(1)里面定時(shí)執(zhí)行(沒(méi)必要太頻繁)。

RTOS時(shí),一般放在優(yōu)先級(jí)最低的任務(wù)中執(zhí)行,或者空閑任務(wù)中(使用鉤子函數(shù))。

千萬(wàn)千萬(wàn)不要在中斷處理程序中喂狗,因?yàn)榭赡苣愕闹鞒绦蛞呀?jīng)跑死,中斷還好好的運(yùn)行呢(如果要用中斷觸發(fā),可以在中斷處理程序中只設(shè)置一個(gè)變量標(biāo)志位,然后在另外位置判斷標(biāo)志位決定是否喂狗)。

但是看門(mén)狗只是一個(gè)預(yù)防措施,而不是一個(gè)正常行為,因此開(kāi)發(fā)過(guò)程中,一定要關(guān)注看門(mén)狗是否出現(xiàn)復(fù)位現(xiàn)象,只要出現(xiàn)一次,都要揪出問(wèn)題的根本原因,否則到了市場(chǎng)上一定會(huì)復(fù)位的。

引起程序復(fù)位的原因有很多種,比如上電、掉電,那么如何看是否由看門(mén)狗引起的呢?有個(gè)寄存器是可以看到具體原因的,比如stm32f1 (其他的可以自己查手冊(cè))

image.png

代碼實(shí)現(xiàn):

hw_cpu_reset_flag_t hw_cpu_reset_get(void)
{
    hw_cpu_reset_flag_t temp = {.value = 0};// 自定義的一個(gè)結(jié)構(gòu)變量,方便使用

    if(RCC_GetFlagStatus(RCC_FLAG_PORRST) != RESET)
    {
       temp.flag.power = 1;
    }
    if(RCC_GetFlagStatus(RCC_FLAG_LPWRRST)!= RESET)
    {
       temp.flag.low_power = 1;
    }
    if(RCC_GetFlagStatus(RCC_FLAG_PINRST) != RESET)
    {
       temp.flag.pin_reset = 1;
    }
    if(RCC_GetFlagStatus(RCC_FLAG_SFTRST)!= RESET)
    {
       temp.flag.software_reset = 1;
    }  
    if(RCC_GetFlagStatus(RCC_FLAG_IWDGRST) != RESET)
    {
       temp.flag.independent_dog = 1;
    }
    if(RCC_GetFlagStatus(RCC_FLAG_WWDGRST)!= RESET)
    {
       temp.flag.window_dog = 1;
    }
    
    RCC_ClearFlag();//清除RCC中復(fù)位標(biāo)志

    return temp;
}

另外在調(diào)試過(guò)程中,我們可以一開(kāi)始就禁用看門(mén)狗(一般在調(diào)試寄存器中)比如

DBGMCU_Config (DBGMCU_IWDG_STOP, ENABLE);

這樣即使程序因調(diào)試而長(zhǎng)時(shí)間暫停,也不會(huì)產(chǎn)生復(fù)位,否則看門(mén)狗復(fù)位,會(huì)影響調(diào)試。

需要注意的是,即使在在線調(diào)試環(huán)境下,一旦全速運(yùn)行,如果程序喂狗不及時(shí),仍然會(huì)引起復(fù)位(這也是我們希望的,可以在調(diào)試過(guò)程中發(fā)現(xiàn)喂狗是否有問(wèn)題)

如果我們的代碼已經(jīng)下載單片機(jī),但又沒(méi)用設(shè)置該位,如果你采用魚(yú)鷹之前介紹的抓現(xiàn)場(chǎng)環(huán)境的方法(關(guān)鍵字 顛覆認(rèn)知),那么也可能會(huì)引起看門(mén)狗的復(fù)位,因此我們既可以在寄存器界面手動(dòng)設(shè)置(看你手速快不快,能不能在復(fù)位前設(shè)置),也可以通過(guò) *.ini 文件設(shè)置該寄存器完成(建議使用該方法,不用拼手速,哈哈)

*.ini 禁用看門(mén)狗:

_WWORD (0xE0042004, 0x100); // 注意該代碼會(huì)將其它位清零。可以采用下面這種方式
//
DEFINE int temp;
temp = _RWORD (0xE0042004); // CSR address
temp |= 0x100;
_WWORD (0xE0042004, temp);
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • 看門(mén)狗
    +關(guān)注

    關(guān)注

    10

    文章

    566

    瀏覽量

    70911
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5363

    瀏覽量

    120949
  • RTOS
    +關(guān)注

    關(guān)注

    22

    文章

    819

    瀏覽量

    119824
  • STM32單片機(jī)
    +關(guān)注

    關(guān)注

    59

    文章

    549

    瀏覽量

    58767
  • stm32f1
    +關(guān)注

    關(guān)注

    1

    文章

    57

    瀏覽量

    12239
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    獨(dú)立看門(mén)狗(IWDG)的基礎(chǔ)知識(shí)

      STM32F10xxx系列內(nèi)置兩個(gè)看門(mén)狗(獨(dú)立看門(mén)狗和窗口看門(mén)狗),提供了更高的安全性、時(shí)間的精確性和使用的靈活性。兩個(gè)看門(mén)狗設(shè)備(
    發(fā)表于 10-19 17:10 ?4319次閱讀
    <b class='flag-5'>獨(dú)立</b><b class='flag-5'>看門(mén)狗</b>(IWDG)的基礎(chǔ)知識(shí)

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

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

    關(guān)于獨(dú)立看門(mén)狗一點(diǎn)經(jīng)驗(yàn)

    stm32基本都內(nèi)置兩種看門(mén)狗(另外還有外置的看門(mén)狗芯片),窗口看門(mén)狗獨(dú)立看門(mén)狗,兩種看門(mén)狗
    發(fā)表于 05-09 11:18 ?664次閱讀
    關(guān)于<b class='flag-5'>獨(dú)立</b><b class='flag-5'>看門(mén)狗</b>的<b class='flag-5'>一點(diǎn)</b><b class='flag-5'>經(jīng)驗(yàn)</b>

    關(guān)于看門(mén)狗一點(diǎn)經(jīng)驗(yàn)程序

    關(guān)于看門(mén)狗一點(diǎn)經(jīng)驗(yàn)程序跑飛時(shí)可以通過(guò)看門(mén)狗復(fù)位,嘗試恢復(fù)系統(tǒng)的工作,本文對(duì)stm32的Markdown和擴(kuò)展Markdown簡(jiǎn)潔的語(yǔ)法代碼塊高亮圖片鏈接和圖片上傳LaTex數(shù)學(xué)公式U
    發(fā)表于 07-30 06:37

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

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

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

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

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

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

    文讀懂STM32之獨(dú)立看門(mén)狗/窗口看門(mén)狗的原理

    STM32的獨(dú)立看門(mén)狗由內(nèi)部專門(mén)的40Khz低速時(shí)鐘驅(qū)動(dòng),即主時(shí)鐘發(fā)生故障,它也仍然有效,這里我們需要注意獨(dú)立看門(mén)狗的時(shí)鐘不是準(zhǔn)確的40Khz,二是在30~60Khz之間變化的
    發(fā)表于 05-18 01:06 ?9438次閱讀
    <b class='flag-5'>一</b>文讀懂STM32之<b class='flag-5'>獨(dú)立</b><b class='flag-5'>看門(mén)狗</b>/窗口<b class='flag-5'>看門(mén)狗</b>的原理

    淺談STM8S_008_WDG獨(dú)立看門(mén)狗和窗口看門(mén)狗

    STM8S_008_WDG獨(dú)立看門(mén)狗和窗口看門(mén)狗
    的頭像 發(fā)表于 03-20 09:39 ?5382次閱讀
    淺談STM8S_008_WDG<b class='flag-5'>獨(dú)立</b><b class='flag-5'>看門(mén)狗</b>和窗口<b class='flag-5'>看門(mén)狗</b>

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

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

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

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

    窗口看門(mén)狗是什么?與獨(dú)立看門(mén)狗有啥區(qū)別?

    STM32有兩個(gè)看門(mén)狗獨(dú)立看門(mén)狗和窗口看門(mén)狗。其實(shí)兩者的功能是類似的,只是喂狗的限制時(shí)間不同。
    發(fā)表于 02-09 10:28 ?9次下載
    窗口<b class='flag-5'>看門(mén)狗</b>是什么?與<b class='flag-5'>獨(dú)立</b><b class='flag-5'>看門(mén)狗</b>有啥區(qū)別?

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

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

    詳解獨(dú)立看門(mén)狗的實(shí)現(xiàn)原理

    這里以大家熟悉的STM32為例給大家講解獨(dú)立看門(mén)狗的配置以及工作過(guò)程。STM32F10xxx內(nèi)置兩個(gè)看門(mén)狗獨(dú)立
    發(fā)表于 12-22 17:01 ?3289次閱讀

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

    在早期的MCU中是沒(méi)有看門(mén)狗這種東西的,所以產(chǎn)品就很容易出現(xiàn)死機(jī),跑飛的情況。為了避免這種情況的出現(xiàn),后期的MCU都集成了看門(mén)狗的功能。但是目前看門(mén)狗發(fā)展到今天基本上分為兩大類:獨(dú)立
    的頭像 發(fā)表于 01-30 14:38 ?1424次閱讀
    STM32中的<b class='flag-5'>獨(dú)立</b><b class='flag-5'>看門(mén)狗</b>和窗口<b class='flag-5'>看門(mén)狗</b>
    主站蜘蛛池模板: SM脚奴调教丨踩踏贱奴 | 毛片大全网站 | 国精品产露脸偷拍视频 | 久久er国产免费精品 | 亚洲中文字幕欧美自拍一区 | 国产1769一七六九视频在线 | 丰满艳妇亲伦 | 首页_亚洲AV色老汉影院 | 成年人免费观看视频网站 | 少妇无码太爽了视频在线播放 | 肉肉高潮液体高干文H | 99久久婷婷国产麻豆精品电影 | 6080伦理久久亚洲精品 | 在线成年av动漫电影 | 久久亚洲国产中文字幕 | 被强J高H纯肉公交车啊 | 男女AA片免费 | 亚洲视频国产 | 亚洲国产成人精品无码区5566 | 一本久道视频无线视频 | 东北女人奶大毛多水多 | 美女脱了内裤张开腿让男人桶到爽 | 中文字幕 亚洲 有码 在线 | c了瑜伽老师嗷嗷叫一节课视频 | H厨房灌草莓 | 99久久精品互换人妻AV | 国产学生在线播放精品视频 | 日本无码毛片一区二区手机看 | 另类重口bdsm日本tv | 97免费在线视频 | 欧美乱妇狂野欧美在线视频 | 亚洲人成伊人成综合网久久久 | 男人和女人全黄一级毛片 | 偷拍亚洲制服另类无码专区 | 亚洲在线成色综合网站 | 动漫H片在线播放免费高清 动漫AV纯肉无码AV电影网 | 亚洲国产果果在线播放在线 | 奶头好翘是不是想要了 | 奇米色偷偷 | 亚洲伦理精品久久 | 国产探花在线精品一区二区 |