<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32學(xué)習(xí)筆記---IWDG獨(dú)立看門狗實(shí)驗(yàn)

          STM32學(xué)習(xí)筆記---IWDG獨(dú)立看門狗實(shí)驗(yàn)

          作者: 時(shí)間:2016-11-23 來源:網(wǎng)絡(luò) 收藏
          繼做了WWDG窗口看門狗實(shí)驗(yàn)后,繼續(xù)進(jìn)行第9個(gè)實(shí)驗(yàn)-IWDG獨(dú)立看門狗實(shí)驗(yàn),本實(shí)驗(yàn)通過設(shè)置窗口看門狗IWDG間斷時(shí)間來定期的檢查是否出錯(cuò),在SysTick_Handler中斷函數(shù)中加入了流水燈用來測(cè)試是否運(yùn)行了IDWG看門狗程序,用PD6-LED2通過閃爍驗(yàn)證程序可行性,編程工程大致和USART實(shí)驗(yàn)過程差不多,先是開啟系統(tǒng)時(shí)鐘,然后GPIO端口時(shí)鐘,然后復(fù)用功能時(shí)鐘AFIO,然后各個(gè)模塊用的的時(shí)鐘,,呵呵,之后進(jìn)入各個(gè)模塊初始化,設(shè)置,編寫子程序,中斷的話,要在中斷函數(shù)中填寫某模塊的中斷觸發(fā)處理函數(shù),重要的是在CONFG.H函數(shù)中開啟模塊的聲明,差不多是這樣的了。

          以下為IWDG函數(shù)主要部分:

          本文引用地址:http://www.ex-cimer.com/article/201611/320081.htm

          //IWDG窗口看門狗設(shè)置初始化
          void IWDG_Config(void)
          {
          //獨(dú)立看門狗初始化
          IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);//啟動(dòng)寄存器讀寫

          IWDG_SetPrescaler(IWDG_Prescaler_32);//40K時(shí)鐘32分頻

          IWDG_SetReload(349); //計(jì)數(shù)器數(shù)值

          IWDG_ReloadCounter(); //重啟計(jì)數(shù)器

          IWDG_Enable(); //啟動(dòng)看門狗
          }
          ***********************************************************

          注意事項(xiàng):

          i. 有狗平常沒事情可以不理,但是千萬(wàn)別忘了喂它,否則死都不知道怎么死的!

          ii. 初始化程序的調(diào)用一定要在systic的初始化之后。

          iii. 獨(dú)立看門狗需要systic中斷來喂,但是systic做別的用處不能只做這件事,所以我寫了如下幾句代碼,可以不影響systic的其他應(yīng)用,其他systic周期代碼也可參考:

          第一步:在stm32f10x_it.c中定義變量

          int Tic_IWDG; //喂狗循環(huán)程序的頻率判斷變量

          第二步:將SysTickHandler中喂狗代碼改為下面:

          Tic_IWDG++; //變量遞增

          if(Tic_IWDG>=100) //每100個(gè)systic周期喂狗

          { IWDG_ReloadCounter();//重啟計(jì)數(shù)器(喂狗)

          Tic_IWDG=0; //變量清零

          }

          完整代碼為

          void SysTick_Handler(void)
          {
          Tic_Val++; //精確延時(shí)變量遞增

          Tic_IWDG++; //獨(dú)立看門狗變量遞增

          if(Tic_IWDG>=100) //每100個(gè)systic周期喂狗

          {
          IWDG_ReloadCounter();//重啟計(jì)數(shù)器(喂狗)
          Tic_IWDG=0; //變量清零

          switch(IWDGFLAG)
          {
          case 0:
          GPIO_SetBits(GPIOD, GPIO_Pin_6);
          break;
          case 1:
          GPIO_ResetBits(GPIOD, GPIO_Pin_6);
          break;
          default:
          break;
          }
          IWDGFLAG=!IWDGFLAG;

          }
          }
          以下為IWDG函數(shù)結(jié)果部分:








          關(guān)鍵詞: STM32IWDG獨(dú)立看門

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();