]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/ARM7_STR71x_IAR/Library/include/wdg.h
Add FreeRTOS-Plus directory.
[freertos] / FreeRTOS / Demo / ARM7_STR71x_IAR / Library / include / wdg.h
1 /******************** (C) COPYRIGHT 2003 STMicroelectronics ********************\r
2 * File Name          : wdg.h\r
3 * Author             : MCD Application Team\r
4 * Date First Issued  : 25/08/2003\r
5 * Description        : This file contains all the functions prototypes for the\r
6 *                      WDG software library.\r
7 ********************************************************************************\r
8 * History:\r
9 *  30/11/2004 : V2.0\r
10 *  14/07/2004 : V1.3\r
11 *  01/01/2004 : V1.2\r
12 *******************************************************************************\r
13  THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH\r
14  CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.\r
15  AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT\r
16  OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT\r
17  OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION\r
18  CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.\r
19 *******************************************************************************/\r
20 #ifndef __WDG_H\r
21 #define __WDG_H\r
22 \r
23 #include "71x_map.h"\r
24 #include "rccu.h"\r
25 \r
26 /*******************************************************************************\r
27 * Function Name  : WDG_Enable\r
28 * Description    : Enable the Watchdog Mode\r
29 * Input          : None\r
30 * Return         : None\r
31 *******************************************************************************/\r
32 inline void WDG_Enable ( void )\r
33 {\r
34   WDG->CR |= 0x01;\r
35 }\r
36 \r
37 /*******************************************************************************\r
38 * Function Name  : WDG_CntRefresh\r
39 * Description    : Refresh and update the WDG counter to avoid a system reset.\r
40 * Input          : None\r
41 * Return         : None\r
42 *******************************************************************************/\r
43 inline void WDG_CntRefresh ( void )\r
44 {\r
45   //write the first value in the key register\r
46   WDG->KR = 0xA55A;\r
47   //write the consecutive value\r
48   WDG->KR = 0x5AA5;\r
49 }\r
50 \r
51 /*******************************************************************************\r
52 * Function Name  : WDG_PrescalerConfig\r
53 * Description    : Set the counter prescaler value.\r
54 *                  Divide the counter clock by (Prescaler + 1)\r
55 * Input          : Prescaler data value (8 bit)\r
56 * Return         : None\r
57 *******************************************************************************/\r
58 inline void WDG_PrescalerConfig ( u8 Prescaler )\r
59 {\r
60   WDG->PR = Prescaler;\r
61 }\r
62 \r
63 /*******************************************************************************\r
64 * Function Name  : WDG_CntReloadUpdate\r
65 * Description    : Update the counter pre-load value.\r
66 * Input          : Pre-load data value (16 bit)\r
67 * Return         : None\r
68 *******************************************************************************/\r
69 inline void WDG_CntReloadUpdate ( u16 PreLoadValue )\r
70 {\r
71   WDG->VR = PreLoadValue;\r
72 }\r
73 \r
74 /*******************************************************************************\r
75 * Function Name  : WDG_PeriodValueConfig\r
76 * Description    : Set the prescaler and counter reload value based on the\r
77 *                  time needed\r
78 * Input          : Amount of time (us) needed, peripheral clock2 value\r
79 * Return         : None\r
80 *******************************************************************************/\r
81 void WDG_PeriodValueConfig ( u32 Time );\r
82 \r
83 /*******************************************************************************\r
84 * Function Name  : WDG_CntOnOffConfig\r
85 * Description    : Start or stop the free auto-reload timer to countdown.\r
86 * Input          : ENABLE or DISABLE\r
87 * Return         : None\r
88 *******************************************************************************/\r
89 inline void WDG_CntOnOffConfig ( FunctionalState NewState )\r
90 {\r
91   if (NewState == ENABLE) WDG->CR |= 0x0002; else WDG->CR &= ~0x0002;\r
92 }\r
93 \r
94 /*******************************************************************************\r
95 * Function Name  : WDG_ECITConfig\r
96 * Description    : Enable or Disable the end of count interrupt\r
97 * Input          : ENABLE or DISABLE\r
98 * Return         : None\r
99 *******************************************************************************/\r
100 inline void WDG_ECITConfig (FunctionalState NewState)\r
101 {\r
102   if (NewState == ENABLE) WDG->MR |= 0x0001; else WDG->MR &= ~0x0001;\r
103 }\r
104 \r
105 /*******************************************************************************\r
106 * Function Name  : WDG_ECFlagClear\r
107 * Description    : Clear the end of count flag\r
108 * Input          : None\r
109 * Return         : None\r
110 *******************************************************************************/\r
111 inline void WDG_ECFlagClear ( void )\r
112 {\r
113   WDG->SR = 0x0000;\r
114 }\r
115 \r
116 /*******************************************************************************\r
117 * Function Name  : WDG_ECStatus\r
118 * Description    : Return the end of count status\r
119 * Input          : None\r
120 * Return         : NewState value\r
121 *******************************************************************************/\r
122 inline u16 WDG_ECStatus ( void )\r
123 {\r
124   return WDG->SR;\r
125 }\r
126 \r
127 #endif // __WDG_H\r
128 \r
129 /******************* (C) COPYRIGHT 2003 STMicroelectronics *****END OF FILE****/\r