DSO138_SourceCodes_v037.rar
[DSO138] / Libraries / STM32F10x_StdPeriph_Driver / src / stm32f10x_dbgmcu.c
1 /**\r
2   ******************************************************************************\r
3   * @file    stm32f10x_dbgmcu.c\r
4   * @author  MCD Application Team\r
5   * @version V3.3.0\r
6   * @date    04/16/2010\r
7   * @brief   This file provides all the DBGMCU firmware functions.\r
8   ******************************************************************************\r
9   * @copy\r
10   *\r
11   * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS\r
12   * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE\r
13   * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY\r
14   * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING\r
15   * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE\r
16   * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.\r
17   *\r
18   * <h2><center>&copy; COPYRIGHT 2010 STMicroelectronics</center></h2>\r
19   */ \r
20 \r
21 /* Includes ------------------------------------------------------------------*/\r
22 #include "stm32f10x_dbgmcu.h"\r
23 \r
24 /** @addtogroup STM32F10x_StdPeriph_Driver\r
25   * @{\r
26   */\r
27 \r
28 /** @defgroup DBGMCU \r
29   * @brief DBGMCU driver modules\r
30   * @{\r
31   */ \r
32 \r
33 /** @defgroup DBGMCU_Private_TypesDefinitions\r
34   * @{\r
35   */\r
36 \r
37 /**\r
38   * @}\r
39   */\r
40 \r
41 /** @defgroup DBGMCU_Private_Defines\r
42   * @{\r
43   */\r
44 \r
45 #define IDCODE_DEVID_Mask    ((uint32_t)0x00000FFF)\r
46 /**\r
47   * @}\r
48   */\r
49 \r
50 /** @defgroup DBGMCU_Private_Macros\r
51   * @{\r
52   */\r
53 \r
54 /**\r
55   * @}\r
56   */\r
57 \r
58 /** @defgroup DBGMCU_Private_Variables\r
59   * @{\r
60   */\r
61 \r
62 /**\r
63   * @}\r
64   */\r
65 \r
66 /** @defgroup DBGMCU_Private_FunctionPrototypes\r
67   * @{\r
68   */\r
69 \r
70 /**\r
71   * @}\r
72   */\r
73 \r
74 /** @defgroup DBGMCU_Private_Functions\r
75   * @{\r
76   */\r
77 \r
78 /**\r
79   * @brief  Returns the device revision identifier.\r
80   * @param  None\r
81   * @retval Device revision identifier\r
82   */\r
83 uint32_t DBGMCU_GetREVID(void)\r
84 {\r
85    return(DBGMCU->IDCODE >> 16);\r
86 }\r
87 \r
88 /**\r
89   * @brief  Returns the device identifier.\r
90   * @param  None\r
91   * @retval Device identifier\r
92   */\r
93 uint32_t DBGMCU_GetDEVID(void)\r
94 {\r
95    return(DBGMCU->IDCODE & IDCODE_DEVID_Mask);\r
96 }\r
97 \r
98 /**\r
99   * @brief  Configures the specified peripheral and low power mode behavior\r
100   *   when the MCU under Debug mode.\r
101   * @param  DBGMCU_Periph: specifies the peripheral and low power mode.\r
102   *   This parameter can be any combination of the following values:\r
103   *     @arg DBGMCU_SLEEP: Keep debugger connection during SLEEP mode              \r
104   *     @arg DBGMCU_STOP: Keep debugger connection during STOP mode               \r
105   *     @arg DBGMCU_STANDBY: Keep debugger connection during STANDBY mode            \r
106   *     @arg DBGMCU_IWDG_STOP: Debug IWDG stopped when Core is halted          \r
107   *     @arg DBGMCU_WWDG_STOP: Debug WWDG stopped when Core is halted          \r
108   *     @arg DBGMCU_TIM1_STOP: TIM1 counter stopped when Core is halted          \r
109   *     @arg DBGMCU_TIM2_STOP: TIM2 counter stopped when Core is halted          \r
110   *     @arg DBGMCU_TIM3_STOP: TIM3 counter stopped when Core is halted          \r
111   *     @arg DBGMCU_TIM4_STOP: TIM4 counter stopped when Core is halted          \r
112   *     @arg DBGMCU_CAN1_STOP: Debug CAN2 stopped when Core is halted           \r
113   *     @arg DBGMCU_I2C1_SMBUS_TIMEOUT: I2C1 SMBUS timeout mode stopped when Core is halted\r
114   *     @arg DBGMCU_I2C2_SMBUS_TIMEOUT: I2C2 SMBUS timeout mode stopped when Core is halted\r
115   *     @arg DBGMCU_TIM5_STOP: TIM5 counter stopped when Core is halted          \r
116   *     @arg DBGMCU_TIM6_STOP: TIM6 counter stopped when Core is halted          \r
117   *     @arg DBGMCU_TIM7_STOP: TIM7 counter stopped when Core is halted          \r
118   *     @arg DBGMCU_TIM8_STOP: TIM8 counter stopped when Core is halted\r
119   *     @arg DBGMCU_CAN2_STOP: Debug CAN2 stopped when Core is halted \r
120   *     @arg DBGMCU_TIM15_STOP: TIM15 counter stopped when Core is halted\r
121   *     @arg DBGMCU_TIM16_STOP: TIM16 counter stopped when Core is halted\r
122   *     @arg DBGMCU_TIM17_STOP: TIM17 counter stopped when Core is halted                \r
123   *     @arg DBGMCU_TIM9_STOP: TIM9 counter stopped when Core is halted\r
124   *     @arg DBGMCU_TIM10_STOP: TIM10 counter stopped when Core is halted\r
125   *     @arg DBGMCU_TIM11_STOP: TIM11 counter stopped when Core is halted\r
126   *     @arg DBGMCU_TIM12_STOP: TIM12 counter stopped when Core is halted\r
127   *     @arg DBGMCU_TIM13_STOP: TIM13 counter stopped when Core is halted\r
128   *     @arg DBGMCU_TIM14_STOP: TIM14 counter stopped when Core is halted\r
129   * @param  NewState: new state of the specified peripheral in Debug mode.\r
130   *   This parameter can be: ENABLE or DISABLE.\r
131   * @retval None\r
132   */\r
133 void DBGMCU_Config(uint32_t DBGMCU_Periph, FunctionalState NewState)\r
134 {\r
135   /* Check the parameters */\r
136   assert_param(IS_DBGMCU_PERIPH(DBGMCU_Periph));\r
137   assert_param(IS_FUNCTIONAL_STATE(NewState));\r
138 \r
139   if (NewState != DISABLE)\r
140   {\r
141     DBGMCU->CR |= DBGMCU_Periph;\r
142   }\r
143   else\r
144   {\r
145     DBGMCU->CR &= ~DBGMCU_Periph;\r
146   }\r
147 }\r
148 \r
149 /**\r
150   * @}\r
151   */\r
152 \r
153 /**\r
154   * @}\r
155   */\r
156 \r
157 /**\r
158   * @}\r
159   */\r
160 \r
161 /******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/\r