在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

“看門(mén)狗”VS“打狗棒”,誰(shuí)勝誰(shuí)負(fù)?(CW32篇)——MCU抗干擾實(shí)驗(yàn)系列專題(4)

jf_09510355 ? 來(lái)源:jf_09510355 ? 作者:jf_09510355 ? 2023-01-17 13:16 ? 次閱讀

上一期文章,我們講了基于STM32的抗干擾方法:增加硬件失效時(shí)軟件復(fù)位及看門(mén)狗功能。這期我們將介紹基于CW32 的抗干擾問(wèn)題。

在1、2期文章和視頻中(可進(jìn)入”MCU研究實(shí)驗(yàn)室”公眾號(hào)查看原文),為了公平起見(jiàn),所有的MCU使用的是同一個(gè)工程程序,(不同的MCU,時(shí)鐘和GPIO的配置略有不同,使用宏定義區(qū)分MCU),除了使用滴答時(shí)鐘和基本GPIO操作外,沒(méi)有任何抗干擾手段,全靠MCU內(nèi)部自身的抗干擾能力進(jìn)行的測(cè)試。結(jié)果,只有芯源CW32 MCU沒(méi)有徹底死機(jī)外,其它均有死機(jī)現(xiàn)象。

這種死機(jī)現(xiàn)象,在我們實(shí)際開(kāi)發(fā)產(chǎn)品時(shí),是禁止發(fā)生的。為了對(duì)付這種干擾,除了硬件上有些技術(shù)對(duì)策,那軟件上又有些什么呢?

當(dāng)然是我們最熟悉的看門(mén)狗了。“看門(mén)狗”這個(gè)神器在“古老的年代”51時(shí)期,那是沒(méi)有的,需要在外面加一個(gè)“昂貴”的芯片來(lái)實(shí)現(xiàn)。當(dāng)然,現(xiàn)在新時(shí)代,所有的ARM MCU基本上都標(biāo)配了看門(mén)狗外設(shè)。

CW32在抗干擾測(cè)試時(shí),也偶有自身復(fù)位現(xiàn)象。當(dāng)然如果我們?cè)黾恿丝撮T(mén)狗抗干擾技術(shù),那設(shè)計(jì)出來(lái)的產(chǎn)品不是更穩(wěn)定嗎!

看門(mén)狗是啥呢,我們來(lái)看一下,CW32芯片的用戶手冊(cè),關(guān)于看門(mén)狗的介紹。

poYBAGPGIZOATvvBAAOzOz6MGOE736.png

這里我們就不詳細(xì)展開(kāi)其內(nèi)容了。直接來(lái)看核心代碼:

//系統(tǒng)時(shí)鐘配置為48M HSI倍數(shù)
#include "main.h"
#include "cw32f030_gpio.h"

//GPIOA端口
#define SEGA GPIO_PIN_10
#define SEGB GPIO_PIN_9
#define SEGC GPIO_PIN_8

//GPIOB端口
#define SEGD GPIO_PIN_14
#define SEGE GPIO_PIN_15

//GPIOA端口
#define SEGF GPIO_PIN_11
#define SEGG GPIO_PIN_12

//GPIOB端口
#define SEGDP GPIO_PIN_13

//num:需要顯示的數(shù)字,no:0顯示左邊數(shù)碼管,1顯示右邊數(shù)碼管
void SEG_DisplayNum(unsigned int num, unsigned int no)
{
    GPIO_WritePin(CW_GPIOA,0xffff,GPIO_Pin_RESET);//關(guān)段碼、位碼
    GPIO_WritePin(CW_GPIOB,0xffff,GPIO_Pin_RESET);//

switch(num) //開(kāi)斷碼
    {
case 0: //ABCDEF
            GPIO_WritePin(CW_GPIOA,SEGA|SEGB|SEGC|SEGF,GPIO_Pin_SET);
            GPIO_WritePin(CW_GPIOB,SEGD|SEGE,GPIO_Pin_SET);
break;        
case 1: //BC
            GPIO_WritePin(CW_GPIOA,SEGB|SEGC,GPIO_Pin_SET);
break;        
case 2: //ABDEG
            GPIO_WritePin(CW_GPIOA,SEGA|SEGB|SEGG,GPIO_Pin_SET);
            GPIO_WritePin(CW_GPIOB,SEGD|SEGE,GPIO_Pin_SET);
break;        
case 3: //ABCDG            
            GPIO_WritePin(CW_GPIOA,SEGA|SEGB|SEGC|SEGG,GPIO_Pin_SET);
            GPIO_WritePin(CW_GPIOB,SEGD,GPIO_Pin_SET);      
break;
case 4://BCFG
             GPIO_WritePin(CW_GPIOA,SEGF|SEGB|SEGC|SEGG,GPIO_Pin_SET);         
break;
case 5://ACDFG
            GPIO_WritePin(CW_GPIOA,SEGA|SEGC|SEGG|SEGF,GPIO_Pin_SET);
            GPIO_WritePin(CW_GPIOB,SEGD,GPIO_Pin_SET);              
break;
case 6: //ACDEFG
            GPIO_WritePin(CW_GPIOA,SEGA|SEGC|SEGG|SEGF,GPIO_Pin_SET);
            GPIO_WritePin(CW_GPIOB,SEGD|SEGE,GPIO_Pin_SET);   
break;
case 7: //ABC
            GPIO_WritePin(CW_GPIOA,SEGA|SEGB|SEGC,GPIO_Pin_SET);
break;
case 8: //ABCDEFG
            GPIO_WritePin(CW_GPIOA,SEGA|SEGB|SEGC|SEGG|SEGF,GPIO_Pin_SET);
            GPIO_WritePin(CW_GPIOB,SEGD|SEGE,GPIO_Pin_SET); 
break;
case 9: //ABCDFG
            GPIO_WritePin(CW_GPIOA,SEGA|SEGB|SEGC|SEGG|SEGF,GPIO_Pin_SET);
            GPIO_WritePin(CW_GPIOB,SEGD,GPIO_Pin_SET); 
break;
case 10: //DP 顯示DP  
           GPIO_WritePin(CW_GPIOB,SEGDP,GPIO_Pin_SET); 
break;
default:
break;          
    }
if(no==1)
        PB12_SETHIGH();//開(kāi)位碼
else
        PB11_SETHIGH();//開(kāi)位碼
}

void RCC_Configuration(void)
{
/* 0. HSI使能并校準(zhǔn) */
  RCC_HSI_Enable(RCC_HSIOSC_DIV6);

/* 1. 設(shè)置HCLK和PCLK的分頻系數(shù)*/
  RCC_HCLKPRS_Config(RCC_HCLK_DIV1);
  RCC_PCLKPRS_Config(RCC_PCLK_DIV1);

/* 2. 使能PLL,通過(guò)PLL倍頻到64MHz */
  RCC_PLL_Enable(RCC_PLLSOURCE_HSI, 8000000, 6);     // HSI 默認(rèn)輸出頻率8MHz

  __RCC_FLASH_CLK_ENABLE();
  FLASH_SetLatency(FLASH_Latency_3);   

/* 3. 時(shí)鐘切換到PLL */
  RCC_SysClk_Switch(RCC_SYSCLKSRC_PLL);
  RCC_SystemCoreClockUpdate(48000000);  
}


void GPIOInit(void)
{  
  GPIO_InitTypeDef GPIO_InitStruct;

  __RCC_GPIOB_CLK_ENABLE();
  __RCC_GPIOA_CLK_ENABLE();

//數(shù)碼管斷碼位碼 IO初始化
  GPIO_InitStruct.IT = GPIO_IT_NONE; //LED1 
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pins = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12;
  GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;
  GPIO_Init(CW_GPIOA, &GPIO_InitStruct);  

  GPIO_InitStruct.Pins = GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;
  GPIO_Init(CW_GPIOB, &GPIO_InitStruct);   
}


int main()
{
unsigned long i;
unsigned int num=0;

  IWDT_InitTypeDef IWDT_InitStruct = {0};  

for(i=0;i<60000;i++);   //上電延時(shí)

  RCC_Configuration(); //時(shí)鐘配置
  GPIOInit();           //數(shù)碼管GPIO初始化

//使用獨(dú)立看門(mén)狗功能   
  CW_SYSCTRL->APBEN1_f.IWDT = 1U;    //使能IWDT模塊
  IWDT_InitStruct.IWDT_ITState = ENABLE;
  IWDT_InitStruct.IWDT_OverFlowAction = IWDT_OVERFLOW_ACTION_INT;   //溢出后產(chǎn)生中斷不復(fù)位
  IWDT_InitStruct.IWDT_Pause = IWDT_SLEEP_PAUSE;
  IWDT_InitStruct.IWDT_Prescaler = IWDT_Prescaler_DIV4;
  IWDT_InitStruct.IWDT_ReloadValue = (IWDT_FREQ >> 2) / 1000 * 280 - 1;  // 由于IWDT的時(shí)鐘為RC10K, 設(shè)置為280實(shí)際溢出時(shí)間為256ms左右
  IWDT_InitStruct.IWDT_WindowValue = 0xFFF;
  IWDT_Init(&IWDT_InitStruct);
  IWDT_Cmd();

  __disable_irq(); 
  NVIC_EnableIRQ(WDT_IRQn);
  __enable_irq();  


while(1)
  {
      num++; //一個(gè)循環(huán),數(shù)據(jù)加1
if(num>=100)num=0; //限數(shù)0-99

      SEG_DisplayNum(num/10,0);  //顯示數(shù)據(jù)十位
for(i=0;i<60000;i++);   //延時(shí)

      SEG_DisplayNum(num%10,1);  //顯示數(shù)據(jù)個(gè)位
for(i=0;i<60000;i++);   //延時(shí)
       IWDT_Refresh();  //喂狗

      SEG_DisplayNum(num/10,0);  //顯示數(shù)據(jù)十位
for(i=0;i<60000;i++);   //延時(shí)    
      IWDT_Refresh();  //喂狗

      SEG_DisplayNum(num%10,1);  //顯示數(shù)據(jù)個(gè)位
for(i=0;i<60000;i++);   //延時(shí)


      SEG_DisplayNum(num/10,0);    //顯示數(shù)據(jù)十位  
for(i=0;i<60000;i++);   //延時(shí)
      IWDT_Refresh();  //喂狗

      SEG_DisplayNum(num%10,1);  //顯示數(shù)據(jù)個(gè)位
for(i=0;i<60000;i++);   //延時(shí)
      IWDT_Refresh(); //喂狗
  }
}

//CW32看門(mén)狗中斷函數(shù)
void WDT_IRQHandler(void)
{
unsigned int j;

if(CW_IWDT->SR & IWDT_SR_OV_Msk) 
  { //獨(dú)立看門(mén)狗溢出發(fā)生    
    IWDT_ClearOVFlag(); /*清除標(biāo)志 */

while (1)
    {
        SEG_DisplayNum(10,1); //顯示右測(cè)數(shù)碼管的小數(shù)點(diǎn)位

for(j=0;j<60000;j++);
for(j=0;j<60000;j++);
for(j=0;j<60000;j++);
for(j=0;j<60000;j++);
for(j=0;j<60000;j++);
for(j=0;j<60000;j++);

        __NVIC_SystemReset();  //軟件復(fù)位,系統(tǒng)重新運(yùn)行。
    }
  }
}

這里的代碼與1、2期代碼不同,我們使用官方標(biāo)準(zhǔn)庫(kù)來(lái)重新編寫(xiě)。其中數(shù)碼管的動(dòng)態(tài)掃描沒(méi)有使用滴答時(shí)鐘,而是在主程序中直接用延時(shí)來(lái)完成。區(qū)別于之前的代碼,我們?cè)黾恿霜?dú)立看門(mén)狗的功能。看門(mén)狗的喂狗操作在MAIN函數(shù)的大循環(huán)里,數(shù)碼管的動(dòng)態(tài)掃描中實(shí)現(xiàn)。

當(dāng)程序發(fā)生死機(jī)時(shí),MAIN函數(shù)的大循環(huán)將暫停運(yùn)行,數(shù)碼管隨機(jī)顯示最近一次數(shù)值,不進(jìn)行動(dòng)態(tài)掃描,所以,只有一位數(shù)碼管顯示。同時(shí),喂狗暫停。

看門(mén)狗的代碼配置為產(chǎn)生中斷不復(fù)位。與STM32不同,看門(mén)狗可以停止復(fù)位,先進(jìn)中斷。因此,當(dāng)看門(mén)狗時(shí)間到,進(jìn)入看門(mén)狗中斷函數(shù)WDT_IRQHandler()中,在中斷函數(shù)中,將右則數(shù)碼管小數(shù)點(diǎn)顯示出來(lái),并進(jìn)行軟件復(fù)位。這樣通過(guò)小數(shù)點(diǎn)顯示再判斷看門(mén)狗事件的發(fā)生。

除了看門(mén)狗復(fù)位,還有一種軟件復(fù)位方式。當(dāng)MCU發(fā)生硬件失效時(shí),會(huì)進(jìn)入Hardfault中數(shù)函數(shù)。Hardfault是優(yōu)先級(jí)別為-1的固定類型中斷,無(wú)需初始化設(shè)置。常常在MCU死機(jī)時(shí),不知明的會(huì)進(jìn)入Hardfault中斷。因此,在Hardfault中斷函數(shù)中,添加軟件復(fù)位功能也是一種防死機(jī)現(xiàn)象的方法。

poYBAGPGIaeABvgmAAME_-HYLjc962.png

Hardfault中斷函數(shù)中代碼如下

void HardFault_Handler(void)
{
  /* USER CODE BEGIN HardFault_IRQn */

    unsigned int j;
  /* USER CODE END HardFault_IRQn */
  while (1)
  {
    /* USER CODE BEGIN W1_HardFault_IRQn */
    while (1)
    {
        SEG_DisplayNum(10,0);
        for(j=0;j<60000;j++);
        for(j=0;j<60000;j++);
        for(j=0;j<60000;j++);
        for(j=0;j<60000;j++);
        for(j=0;j<60000;j++);
        for(j=0;j<60000;j++);

        __NVIC_SystemReset();
    }
    /* USER CODE END W1_HardFault_IRQn */
  }
}

34這就是CW32關(guān)于看門(mén)狗的一個(gè)介紹。

CW32芯片本身在內(nèi)部設(shè)計(jì)的時(shí)候充分考慮了各種ESD抗干擾手段,所以即使軟件上不加任何軟件抗干擾處理,它自身已經(jīng)有比較強(qiáng)的抗干擾能力了。然后,所以我們做實(shí)驗(yàn)的結(jié)果,沒(méi)有STM32那么明顯,就是加看門(mén)狗和不加看門(mén)狗都沒(méi)那么明顯,它本身就可以扛得住各種干擾了。

但是,一個(gè)規(guī)范性的程序,一個(gè)可靠性的軟硬設(shè)計(jì)都非常重要。建議用戶在產(chǎn)品開(kāi)發(fā)的時(shí)候,還是應(yīng)該把看門(mén)狗功能加上去。因?yàn)橥饷婵赡苡欣讚簦懈鞣N電網(wǎng)的波動(dòng),各種意外。那么當(dāng)意外發(fā)生的時(shí)候,MCU不能死機(jī),但可以復(fù)位,可以重新運(yùn)行,不能死鎖。所以我們要養(yǎng)成良好的編程習(xí)慣,養(yǎng)成良好的產(chǎn)品設(shè)計(jì)思維,要把我們抗干擾這個(gè)手段加上去,這也是我們給大家一直來(lái)做這個(gè)抗干擾實(shí)驗(yàn)的一個(gè)目的和意義所在。

審核編輯:湯梓紅

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

    關(guān)注

    6061

    文章

    44861

    瀏覽量

    645932
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17797

    瀏覽量

    359494
  • 看門(mén)狗
    +關(guān)注

    關(guān)注

    10

    文章

    577

    瀏覽量

    71522
  • 抗干擾
    +關(guān)注

    關(guān)注

    4

    文章

    324

    瀏覽量

    35035
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1251

    瀏覽量

    53459
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    242

    瀏覽量

    1061
  • 武漢芯源
    +關(guān)注

    關(guān)注

    1

    文章

    67

    瀏覽量

    417
收藏 人收藏

    評(píng)論

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

    CW32在“打狗棒”的閃電攻擊下的波形分析——MCU抗干擾實(shí)驗(yàn)系列專題(6)

    震驚于CW32的強(qiáng)抗干擾能力,今天決定對(duì)它進(jìn)行好的單獨(dú)測(cè)試。看看“打狗棒”的干擾信號(hào)是怎么樣的?CW32又是怎么抗得住這些來(lái)自外界的強(qiáng)烈能量
    的頭像 發(fā)表于 02-08 09:22 ?2772次閱讀
    <b class='flag-5'>CW32</b>在“<b class='flag-5'>打狗棒</b>”的閃電攻擊下的波形分析——<b class='flag-5'>MCU</b><b class='flag-5'>抗干擾</b><b class='flag-5'>實(shí)驗(yàn)</b><b class='flag-5'>系列</b><b class='flag-5'>專題</b>(6)

    看門(mén)狗VS打狗棒”,誰(shuí)誰(shuí)負(fù)?(STM32)—MCU抗干擾實(shí)驗(yàn)系列專題(3)

    ?在上兩期文章和視頻中,為了公平起見(jiàn),所有的MCU使用的是同一個(gè)工程程序,(不同的MCU,時(shí)鐘和GPIO的配置略有不同,使用宏定義區(qū)分MCU),除了使用滴答時(shí)鐘和基本GPIO操作外,沒(méi)有任何
    的頭像 發(fā)表于 02-08 09:15 ?2056次閱讀
    “<b class='flag-5'>看門(mén)狗</b>“<b class='flag-5'>VS</b>“<b class='flag-5'>打狗棒</b>”,<b class='flag-5'>誰(shuí)</b><b class='flag-5'>勝</b><b class='flag-5'>誰(shuí)</b><b class='flag-5'>負(fù)</b>?(STM32<b class='flag-5'>篇</b>)—<b class='flag-5'>MCU</b><b class='flag-5'>抗干擾</b><b class='flag-5'>實(shí)驗(yàn)</b><b class='flag-5'>系列</b><b class='flag-5'>專題</b>(3)

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

    在早期的MCU中是沒(méi)有看門(mén)狗這種東西的,所以產(chǎn)品就很容易出現(xiàn)死機(jī),跑飛的情況。為了避免這種情況的出現(xiàn),后期的MCU都集成了看門(mén)狗的功能。但是目前看門(mén)
    的頭像 發(fā)表于 02-20 17:47 ?3254次閱讀
    STM32中的獨(dú)立<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)狗的功能。
    發(fā)表于 03-03 09:18 ?1049次閱讀

    關(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)狗的使用方法和應(yīng)用場(chǎng)景各不相同,今天主要講講最常
    發(fā)表于 05-09 11:18 ?796次閱讀
    關(guān)于獨(dú)立<b class='flag-5'>看門(mén)狗</b>的一點(diǎn)經(jīng)驗(yàn)

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

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

    對(duì)于MCU看門(mén)狗IIWDG WWDG喂狗時(shí)間的配置參考

    對(duì)于MCU看門(mén)狗IIWDG WWDG喂狗時(shí)間的配置參考可以參考MCU的datasheet;在每個(gè)MCU的datasheet中都有這樣的表格:6.3.25 Timer
    發(fā)表于 10-28 12:06 ?13次下載
    對(duì)于<b class='flag-5'>MCU</b><b class='flag-5'>看門(mén)狗</b>IIWDG WWDG喂狗時(shí)間的配置參考

    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)在很多
    發(fā)表于 10-28 20:06 ?8次下載
    <b class='flag-5'>MCU</b>獨(dú)立<b class='flag-5'>看門(mén)狗</b>與窗口<b class='flag-5'>看門(mén)狗</b>的區(qū)別

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

    關(guān)注+星標(biāo)公眾號(hào),不錯(cuò)過(guò)精彩內(nèi)容素材來(lái)源 | STM32早期的MCU沒(méi)有看門(mén)狗,就容易引起有些產(chǎn)品死機(jī)了不能重啟工作。為了避免這個(gè)問(wèn)題,后期的MCU在內(nèi)部集成了看門(mén)狗的功能。為了滿足更
    發(fā)表于 10-29 10:51 ?2次下載
    <b class='flag-5'>MCU</b>獨(dú)立<b class='flag-5'>看門(mén)狗</b>與窗口<b class='flag-5'>看門(mén)狗</b>的區(qū)別

    【嵌入式系統(tǒng)】獨(dú)立看門(mén)狗原理+看門(mén)狗實(shí)驗(yàn)分析

    【嵌入式系統(tǒng)】獨(dú)立看門(mén)狗原理+看門(mén)狗實(shí)驗(yàn)分析1、看門(mén)狗模塊概述在由單片機(jī)構(gòu)成的微機(jī)系統(tǒng)中,由于單片機(jī)工作常常會(huì)受到來(lái)自外界電磁場(chǎng)干擾導(dǎo)致程序
    發(fā)表于 11-25 09:51 ?1次下載
    【嵌入式系統(tǒng)】獨(dú)立<b class='flag-5'>看門(mén)狗</b>原理+<b class='flag-5'>看門(mén)狗</b><b class='flag-5'>實(shí)驗(yàn)</b>分析

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

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

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

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

    MCU如何集成看門(mén)狗的功能

    一、前言 在早期的MCU中是沒(méi)有看門(mén)狗這種東西的,所以產(chǎn)品就很容易出現(xiàn)死機(jī),跑飛的情況。為了避免這種情況的出現(xiàn),后期的MCU都集成了看門(mén)狗的功能。但是目前
    的頭像 發(fā)表于 06-22 09:09 ?2155次閱讀
    <b class='flag-5'>MCU</b>如何集成<b class='flag-5'>看門(mén)狗</b>的功能

    MCU硬件看門(mén)狗+軟件看門(mén)狗監(jiān)測(cè)多任務(wù)的思路

    MCU硬件看門(mén)狗+軟件看門(mén)狗監(jiān)測(cè)多任務(wù)的思路
    的頭像 發(fā)表于 10-24 15:25 ?2021次閱讀
    <b class='flag-5'>MCU</b>硬件<b class='flag-5'>看門(mén)狗</b>+軟件<b class='flag-5'>看門(mén)狗</b>監(jiān)測(cè)多任務(wù)的思路
    主站蜘蛛池模板: 午夜日| 1024国产看片在线观看 | 午夜视频一区二区 | 特黄a大片免费视频 | v天堂网| 操日韩| 婷婷色香 | 天天色亚洲 | 免费精品美女久久久久久久久久 | 国模视频一区二区 | 国产免费卡1卡2卡 | 野外啪啪抽搐一进一出 | 69老司机亚洲精品一区 | 天天狠狠操 | 婷婷丁香色 | 久碰香蕉精品视频在线观看 | 欧美人成网 | 伦理片日本韩国电影三级在线观看 | 四虎国产精品永久在线 | 久久精品国产精品亚洲精品 | 黄色福利网| 国产午夜精品久久久久免费视小说 | 在线观看免费观看 | 欧洲精品不卡1卡2卡三卡四卡 | 大香伊人网 | 欧美午夜视频在线 | 欧美三级一区二区三区 | 国产青青草| 大色综合色综合资源站 | 97影院理伦在线观看 | 久久免费公开视频 | 欧美成人xxxx | 欧美一级看片免费观看视频在线 | 国产精品视频第一区二区三区 | 日韩毛片免费在线观看 | 亚洲 成人 欧美 自拍 | 国模欢欢炮交啪啪150 | 午夜视频免费在线播放 | 国产免费亚洲 | 国产一区二区三区在线观看影院 | 免费看日本大片免费 |