-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
b8cdc9a
commit 0cf5509
Showing
73 changed files
with
58,246 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,172 @@ | ||
/** | ||
****************************************************************************** | ||
* @file misc.h | ||
* @author MCD Application Team | ||
* @version V1.0.0 | ||
* @date 30-September-2011 | ||
* @brief This file contains all the functions prototypes for the miscellaneous | ||
* firmware library functions (add-on to CMSIS functions). | ||
****************************************************************************** | ||
* @attention | ||
* | ||
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS | ||
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE | ||
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY | ||
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING | ||
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE | ||
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. | ||
* | ||
* <h2><center>© COPYRIGHT 2011 STMicroelectronics</center></h2> | ||
****************************************************************************** | ||
*/ | ||
|
||
/* Define to prevent recursive inclusion -------------------------------------*/ | ||
#ifndef __MISC_H | ||
#define __MISC_H | ||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
|
||
/* Includes ------------------------------------------------------------------*/ | ||
#include "stm32f4xx.h" | ||
|
||
/** @addtogroup STM32F4xx_StdPeriph_Driver | ||
* @{ | ||
*/ | ||
|
||
/** @addtogroup MISC | ||
* @{ | ||
*/ | ||
|
||
/* Exported types ------------------------------------------------------------*/ | ||
|
||
/** | ||
* @brief NVIC Init Structure definition | ||
*/ | ||
|
||
typedef struct | ||
{ | ||
uint8_t NVIC_IRQChannel; /*!< Specifies the IRQ channel to be enabled or disabled. | ||
This parameter can be an enumerator of @ref IRQn_Type | ||
enumeration (For the complete STM32 Devices IRQ Channels | ||
list, please refer to stm32f4xx.h file) */ | ||
|
||
uint8_t NVIC_IRQChannelPreemptionPriority; /*!< Specifies the pre-emption priority for the IRQ channel | ||
specified in NVIC_IRQChannel. This parameter can be a value | ||
between 0 and 15 as described in the table @ref MISC_NVIC_Priority_Table | ||
A lower priority value indicates a higher priority */ | ||
|
||
uint8_t NVIC_IRQChannelSubPriority; /*!< Specifies the subpriority level for the IRQ channel specified | ||
in NVIC_IRQChannel. This parameter can be a value | ||
between 0 and 15 as described in the table @ref MISC_NVIC_Priority_Table | ||
A lower priority value indicates a higher priority */ | ||
|
||
FunctionalState NVIC_IRQChannelCmd; /*!< Specifies whether the IRQ channel defined in NVIC_IRQChannel | ||
will be enabled or disabled. | ||
This parameter can be set either to ENABLE or DISABLE */ | ||
} NVIC_InitTypeDef; | ||
|
||
/* Exported constants --------------------------------------------------------*/ | ||
|
||
/** @defgroup MISC_Exported_Constants | ||
* @{ | ||
*/ | ||
|
||
/** @defgroup MISC_Vector_Table_Base | ||
* @{ | ||
*/ | ||
|
||
#define NVIC_VectTab_RAM ((uint32_t)0x20000000) | ||
#define NVIC_VectTab_FLASH ((uint32_t)0x08000000) | ||
#define IS_NVIC_VECTTAB(VECTTAB) (((VECTTAB) == NVIC_VectTab_RAM) || \ | ||
((VECTTAB) == NVIC_VectTab_FLASH)) | ||
/** | ||
* @} | ||
*/ | ||
|
||
/** @defgroup MISC_System_Low_Power | ||
* @{ | ||
*/ | ||
|
||
#define NVIC_LP_SEVONPEND ((uint8_t)0x10) | ||
#define NVIC_LP_SLEEPDEEP ((uint8_t)0x04) | ||
#define NVIC_LP_SLEEPONEXIT ((uint8_t)0x02) | ||
#define IS_NVIC_LP(LP) (((LP) == NVIC_LP_SEVONPEND) || \ | ||
((LP) == NVIC_LP_SLEEPDEEP) || \ | ||
((LP) == NVIC_LP_SLEEPONEXIT)) | ||
/** | ||
* @} | ||
*/ | ||
|
||
/** @defgroup MISC_Preemption_Priority_Group | ||
* @{ | ||
*/ | ||
|
||
#define NVIC_PriorityGroup_0 ((uint32_t)0x700) /*!< 0 bits for pre-emption priority | ||
4 bits for subpriority */ | ||
#define NVIC_PriorityGroup_1 ((uint32_t)0x600) /*!< 1 bits for pre-emption priority | ||
3 bits for subpriority */ | ||
#define NVIC_PriorityGroup_2 ((uint32_t)0x500) /*!< 2 bits for pre-emption priority | ||
2 bits for subpriority */ | ||
#define NVIC_PriorityGroup_3 ((uint32_t)0x400) /*!< 3 bits for pre-emption priority | ||
1 bits for subpriority */ | ||
#define NVIC_PriorityGroup_4 ((uint32_t)0x300) /*!< 4 bits for pre-emption priority | ||
0 bits for subpriority */ | ||
|
||
#define IS_NVIC_PRIORITY_GROUP(GROUP) (((GROUP) == NVIC_PriorityGroup_0) || \ | ||
((GROUP) == NVIC_PriorityGroup_1) || \ | ||
((GROUP) == NVIC_PriorityGroup_2) || \ | ||
((GROUP) == NVIC_PriorityGroup_3) || \ | ||
((GROUP) == NVIC_PriorityGroup_4)) | ||
|
||
#define IS_NVIC_PREEMPTION_PRIORITY(PRIORITY) ((PRIORITY) < 0x10) | ||
|
||
#define IS_NVIC_SUB_PRIORITY(PRIORITY) ((PRIORITY) < 0x10) | ||
|
||
#define IS_NVIC_OFFSET(OFFSET) ((OFFSET) < 0x000FFFFF) | ||
|
||
/** | ||
* @} | ||
*/ | ||
|
||
/** @defgroup MISC_SysTick_clock_source | ||
* @{ | ||
*/ | ||
|
||
#define SysTick_CLKSource_HCLK_Div8 ((uint32_t)0xFFFFFFFB) | ||
#define SysTick_CLKSource_HCLK ((uint32_t)0x00000004) | ||
#define IS_SYSTICK_CLK_SOURCE(SOURCE) (((SOURCE) == SysTick_CLKSource_HCLK) || \ | ||
((SOURCE) == SysTick_CLKSource_HCLK_Div8)) | ||
/** | ||
* @} | ||
*/ | ||
|
||
/** | ||
* @} | ||
*/ | ||
|
||
/* Exported macro ------------------------------------------------------------*/ | ||
/* Exported functions --------------------------------------------------------*/ | ||
|
||
void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup); | ||
void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct); | ||
void NVIC_SetVectorTable(uint32_t NVIC_VectTab, uint32_t Offset); | ||
void NVIC_SystemLPConfig(uint8_t LowPowerMode, FunctionalState NewState); | ||
void SysTick_CLKSourceConfig(uint32_t SysTick_CLKSource); | ||
|
||
#ifdef __cplusplus | ||
} | ||
#endif | ||
|
||
#endif /* __MISC_H */ | ||
|
||
/** | ||
* @} | ||
*/ | ||
|
||
/** | ||
* @} | ||
*/ | ||
|
||
/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ |
Oops, something went wrong.