久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1907|回復: 0
打印 上一主題 下一主題
收起左側

stm8051F3獨立看門狗的使用源程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:537075 發表于 2019-5-13 16:12 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
stm8051F3獨立看門狗的使用,對初學者很實用。

單片機源程序如下:
  1. #include "stm8l15x.h"//STM8L051/151等系列共用庫函數

  2. //定義LED端口
  3. #define LED1_PORT  GPIOD
  4. #define LED1_PINS  GPIO_Pin_0
  5. #define LED2_PORT  GPIOC
  6. #define LED2_PINS  GPIO_Pin_4
  7. #define LED3_PORT  GPIOB
  8. #define LED3_PINS  GPIO_Pin_2
  9. #define KEY1_PORT  GPIOB
  10. #define KEY1_PINS  GPIO_Pin_1
  11. #define KEY2_PORT  GPIOA
  12. #define KEY2_PINS  GPIO_Pin_2
  13. #define KEY3_PORT  GPIOB
  14. #define KEY3_PINS  GPIO_Pin_3

  15. #define RELOAD_VALUE   255
  16. /*******************************************************************************
  17. ****入口參數:無
  18. ****出口參數:無
  19. ****函數備注:不精確延時函數
  20. ****版權信息:藍旗嵌入式系統
  21. *******************************************************************************/
  22. void Delay(__IO uint16_t nCount)
  23. {
  24.     /* Decrement nCount value */
  25.     while (nCount != 0)
  26.     {
  27.         nCount--;
  28.     }
  29. }

  30. static void IWDG_Config(void)
  31. {
  32.   //使能IWDG
  33.   IWDG_Enable();
  34.   //解除寫保護  
  35.   IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
  36.   //LSI驅動IWDG,LSI 256分頻=38000/256
  37.   IWDG_SetPrescaler(IWDG_Prescaler_256);
  38.   
  39.   /* IWDG timeout = (RELOAD_VALUE + 1) * Prescaler / LSI
  40.                   = (255 + 1) * 256 / 38 000
  41.                   = 1723.63 ms */
  42.   IWDG_SetReload((uint8_t)RELOAD_VALUE);
  43.   
  44.   /* Reload IWDG counter */
  45.   IWDG_ReloadCounter();
  46. }
  47. /*******************************************************************************
  48. ****函數說明:主函數
  49. ****入口參數:無
  50. ****出口參數:無
  51. ****函數備注: 主函數,軟件獨立看門狗
  52.               按鍵觸發中斷,中斷服務程序里面調用軟件中斷TRAP,TRAP里面是while(1),
  53.               這樣就不會喂狗,從而導致IWDG計數器計數到0,引發復位。復位后程序判斷
  54.               復位標志是不是IWDG引起的復位,如果是,則點亮LED。
  55. ********************************************************************************/
  56. void main(void)
  57. {  
  58.   CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);
  59.   
  60.   GPIO_Init(LED1_PORT,LED1_PINS,GPIO_Mode_Out_PP_High_Slow);//初始化LED端口

  61.   GPIO_Init(KEY1_PORT, KEY1_PINS, GPIO_Mode_In_PU_IT);//初始化按鍵,上拉輸入,帶中斷

  62.   EXTI_DeInit (); //恢復中斷的所有設置
  63.   EXTI_SetPinSensitivity (EXTI_Pin_1,EXTI_Trigger_Falling);//外部中斷1,下降沿觸發,向量號9
  64.   
  65.   enableInterrupts();//使能中斷
  66.   
  67.   
  68.   if(RST_GetFlagStatus(RST_FLAG_IWDGF) != RESET)//判斷IWDG復位有沒有發生
  69.      {     
  70.         GPIO_ResetBits(LED1_PORT, LED1_PINS);//點亮LED
  71.         //清掉復位標志
  72.         RST_ClearFlag(RST_FLAG_IWDGF);
  73.       }
  74.   else                                         //如果不是IWDG引起的復位
  75.      {
  76.         GPIO_SetBits(LED1_PORT, LED1_PINS);
  77.       }
  78.   
  79.     //配置IWDG
  80.   IWDG_Config();
  81.   
  82.   while (1)
  83.   {  
  84.     IWDG_ReloadCounter(); //喂狗
  85.   }
  86. }








  87. #ifdef  USE_FULL_ASSERT

  88. /**
  89.   * @brief  Reports the name of the source file and the source line number
  90.   *   where the assert_param error has occurred.
  91.   * @param  file: pointer to the source file name
  92.   * @param  line: assert_param error line source number
  93.   * @retval None
  94.   */
  95. void assert_failed(uint8_t* file, uint32_t line)
  96. {
  97.   /* User can add his own implementation to report the file name and line number,
  98.      ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */

  99.   /* Infinite loop */
  100.   while (1)
  101.   {
  102.   }
  103. }
  104. #endif

  105. /**
  106.   * @}
  107.   */

  108. /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
復制代碼

所有資料51hei提供下載:
stn8.IWDG-獨立看門狗.7z (5.88 MB, 下載次數: 4)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 狠狠狠干 | 波多野结衣中文字幕一区二区三区 | 欧美成人精品激情在线观看 | 久久男人 | 久久伊 | 一区二区三区中文字幕 | 久久久亚洲一区 | 日本精品一区二区三区在线观看 | 欧美日日 | 欧美日韩免费在线 | 青青久在线视频 | 黄色网址免费在线观看 | 夜夜骑综合 | 中文在线亚洲 | 成人欧美一区二区 | 中国黄色毛片视频 | 青青草在线视频免费观看 | 日本不卡一区二区三区 | 开操网| 欧美a在线 | 精品国产一区二区三区久久久四川 | 精品国产视频 | 日韩欧美在线播放 | 久久久www成人免费精品 | 亚洲国产精品久久久 | 在线观看www | 做a视频| 久久网站免费视频 | 久久久久久久久淑女av国产精品 | 成人欧美一区二区三区黑人孕妇 | 国产区精品视频 | 91精品国产综合久久精品 | 四虎成人av| 在线看一区二区 | 91国内外精品自在线播放 | 国产精品亚洲一区二区三区在线观看 | 久久www免费人成看片高清 | 欧美一区免费 | 亚洲国产精品成人 | 99精品久久久久 | 欧美精品1区 |