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

標題: stm8051F3獨立看門狗的使用源程序 [打印本頁]

作者: jijiahui555    時間: 2019-5-13 16:12
標題: stm8051F3獨立看門狗的使用源程序
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)







歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: caoporn视频在线 | 精品国产精品三级精品av网址 | 亚洲欧美一区二区三区1000 | 国产精品毛片一区二区在线看 | 成年人在线视频 | 国产电影一区二区在线观看 | 欧美性猛交一区二区三区精品 | 亚洲 欧美 日韩 在线 | 欧美中文字幕 | 伊人久久综合 | 成人精品视频99在线观看免费 | 日韩中文字幕在线免费 | 日韩一区二区在线播放 | 玖玖玖在线 | 久久中文免费视频 | 日韩一二区 | 中文字字幕一区二区三区四区五区 | 欧美成人精品欧美一级 | 日韩一区二区成人 | 国产亚洲一区在线 | 国产精品亚洲一区二区三区在线观看 | 日韩免费av一区二区 | 亚洲国产69 | 国产精品久久av | 日韩国产中文字幕 | 日韩av高清在线 | 欧美激情第一区 | 99热.com | www.成人在线视频 | 激情免费视频 | 国产一级一片免费播放 | 欧美极品在线观看 | 自拍视频一区二区三区 | av黄色在线 | av电影手机版 | 激情视频中文字幕 | 99re视频| www.日韩 | 国产精品一级 | 久久久久久久国产 | 最新中文字幕在线 |