QuakeGod
2024-02-24 8b51c78f1b88d94a89bb8c37ae38a54f523cb597
提交 | 用户 | age
8b51c7 1 /**
Q 2   ******************************************************************************
3   * @file    stm32f0xx_hal_cortex.h
4   * @author  MCD Application Team
5   * @brief   Header file of CORTEX HAL module.
6   ******************************************************************************
7   * @attention
8   *
9   * <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
10   *
11   * Redistribution and use in source and binary forms, with or without modification,
12   * are permitted provided that the following conditions are met:
13   *   1. Redistributions of source code must retain the above copyright notice,
14   *      this list of conditions and the following disclaimer.
15   *   2. Redistributions in binary form must reproduce the above copyright notice,
16   *      this list of conditions and the following disclaimer in the documentation
17   *      and/or other materials provided with the distribution.
18   *   3. Neither the name of STMicroelectronics nor the names of its contributors
19   *      may be used to endorse or promote products derived from this software
20   *      without specific prior written permission.
21   *
22   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25   * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
26   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29   * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32   *
33   ******************************************************************************
34   */ 
35
36 /* Define to prevent recursive inclusion -------------------------------------*/
37 #ifndef __STM32F0xx_HAL_CORTEX_H
38 #define __STM32F0xx_HAL_CORTEX_H
39
40 #ifdef __cplusplus
41  extern "C" {
42 #endif
43
44 /* Includes ------------------------------------------------------------------*/
45 #include "stm32f0xx_hal_def.h"
46
47 /** @addtogroup STM32F0xx_HAL_Driver
48   * @{
49   */
50
51 /** @addtogroup CORTEX CORTEX
52   * @{
53   */ 
54 /* Exported types ------------------------------------------------------------*/
55 /* Exported constants --------------------------------------------------------*/
56
57 /** @defgroup CORTEX_Exported_Constants CORTEX Exported Constants
58   * @{
59   */
60   
61 /** @defgroup CORTEX_SysTick_clock_source CORTEX SysTick clock source
62   * @{
63   */
64 #define SYSTICK_CLKSOURCE_HCLK_DIV8    (0x00000000U)
65 #define SYSTICK_CLKSOURCE_HCLK         (0x00000004U)
66
67 /**
68   * @}
69   */
70
71 /**
72   * @}
73   */
74   
75 /* Exported Macros -----------------------------------------------------------*/
76
77 /* Exported functions --------------------------------------------------------*/
78 /** @addtogroup CORTEX_Exported_Functions CORTEX Exported Functions
79   * @{
80   */
81 /** @addtogroup CORTEX_Exported_Functions_Group1 Initialization and de-initialization functions 
82  *  @brief    Initialization and Configuration functions
83  * @{
84  */
85 /* Initialization and de-initialization functions *******************************/
86 void HAL_NVIC_SetPriority(IRQn_Type IRQn,uint32_t PreemptPriority, uint32_t SubPriority);
87 void HAL_NVIC_EnableIRQ(IRQn_Type IRQn);
88 void HAL_NVIC_DisableIRQ(IRQn_Type IRQn);
89 void HAL_NVIC_SystemReset(void);
90 uint32_t HAL_SYSTICK_Config(uint32_t TicksNumb);
91 /**
92   * @}
93   */
94
95 /** @addtogroup CORTEX_Exported_Functions_Group2 Peripheral Control functions 
96  *  @brief   Cortex control functions
97  * @{
98  */
99  
100 /* Peripheral Control functions *************************************************/
101 uint32_t HAL_NVIC_GetPriority(IRQn_Type IRQn);
102 uint32_t HAL_NVIC_GetPendingIRQ(IRQn_Type IRQn);
103 void HAL_NVIC_SetPendingIRQ(IRQn_Type IRQn);
104 void HAL_NVIC_ClearPendingIRQ(IRQn_Type IRQn);
105 void HAL_SYSTICK_CLKSourceConfig(uint32_t CLKSource);
106 void HAL_SYSTICK_IRQHandler(void);
107 void HAL_SYSTICK_Callback(void);
108 /**
109   * @}
110   */ 
111
112 /**
113   * @}
114   */ 
115
116 /* Private types -------------------------------------------------------------*/ 
117 /* Private variables ---------------------------------------------------------*/
118 /* Private constants ---------------------------------------------------------*/
119 /* Private macros ------------------------------------------------------------*/
120 /** @defgroup CORTEX_Private_Macros CORTEX Private Macros
121   * @{
122   */
123 #define IS_NVIC_PREEMPTION_PRIORITY(PRIORITY)  ((PRIORITY) < 0x4)
124
125 #define IS_NVIC_DEVICE_IRQ(IRQ)                ((IRQ) >= 0x00)
126
127 #define IS_SYSTICK_CLK_SOURCE(SOURCE) (((SOURCE) == SYSTICK_CLKSOURCE_HCLK) || \
128                                       ((SOURCE) == SYSTICK_CLKSOURCE_HCLK_DIV8))
129 /**
130   * @}
131   */ 
132
133 /**
134   * @}
135   */
136
137 /**
138   * @}
139   */
140     
141 #ifdef __cplusplus
142 }
143 #endif
144
145 #endif /* __STM32F0xx_HAL_CORTEX_H */
146  
147
148 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
149