lib_misc.h 2.9 KB
Newer Older
F
FuChao 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
/**
  ******************************************************************************
  * @file    lib_misc.h 
  * @author  Application Team
  * @version V4.4.0
  * @date    2018-09-27
  * @brief   MISC library.
  ******************************************************************************
  * @attention
  *
  ******************************************************************************
  */
#ifndef __LIB_MISC_H
#define __LIB_MISC_H

#ifdef __cplusplus
 extern "C" {
#endif

#include "target.h"
   
//FlagMask
#define MISC_FLAG_LOCKUP    MISC_SRAMINT_LOCKUP
#define MISC_FLAG_PIAC      MISC_SRAMINT_PIAC
#define MISC_FLAG_HIAC      MISC_SRAMINT_HIAC
#define MISC_FLAG_PERR      MISC_SRAMINT_PERR
#define MISC_FLAG_Msk      (MISC_FLAG_LOCKUP | MISC_FLAG_PIAC | MISC_FLAG_HIAC | MISC_FLAG_PERR)  
  
//MISC interrupt
#define MISC_INT_LOCK       MISC_SRAMINIT_LOCKIE
#define MISC_INT_PIAC       MISC_SRAMINIT_PIACIE
#define MISC_INT_HIAC       MISC_SRAMINIT_HIACIE
#define MISC_INT_PERR       MISC_SRAMINIT_PERRIE
#define MISC_INT_Msk       (MISC_INT_LOCK | MISC_INT_PIAC | MISC_INT_HIAC | MISC_INT_PERR) 

//IR
#define MISC_IREN_TX0       MISC_IREN_UART0
#define MISC_IREN_TX1       MISC_IREN_UART1
#define MISC_IREN_TX2       MISC_IREN_UART2
#define MISC_IREN_TX3       MISC_IREN_UART3
#define MISC_IREN_TX4       MISC_IREN_UART4
#define MISC_IREN_TX5       MISC_IREN_UART5
#define MISC_IREN_Msk      (0x3FUL)   

/* Private macros ------------------------------------------------------------*/
#define IS_MISC_FLAGR(__FLAGR__) (((__FLAGR__) == MISC_FLAG_LOCKUP) ||\
                                  ((__FLAGR__) == MISC_FLAG_PIAC)   ||\
                                  ((__FLAGR__) == MISC_FLAG_HIAC)   ||\
                                  ((__FLAGR__) == MISC_FLAG_PERR))

#define IS_MISC_FLAGC(__FLAGC__)  ((((__FLAGC__) & MISC_FLAG_Msk) != 0U) &&\
                                   (((__FLAGC__) & ~MISC_FLAG_Msk) == 0U))

#define IS_MISC_INT(__INT__)  ((((__INT__) & MISC_INT_Msk) != 0U) &&\
                               (((__INT__) &~MISC_INT_Msk) == 0U))

#define IS_MISC_IREN(__IREN__)  ((((__IREN__) & MISC_IREN_Msk) != 0U) &&\
                                 (((__IREN__) & ~MISC_IREN_Msk) == 0U))

/* Exported Functions ------------------------------------------------------- */
uint8_t MISC_GetFlag(uint32_t FlagMask);
void MISC_ClearFlag(uint32_t FlagMask);
void MISC_INTConfig(uint32_t INTMask, uint32_t NewState);
void MISC_SRAMParityCmd(uint32_t NewState);
uint32_t MISC_GetSRAMPEAddr(void);
uint32_t MISC_GetAPBErrAddr(void);
uint32_t MISC_GetAHBErrAddr(void);
void MISC_IRCmd(uint32_t IRx, uint32_t NewState);
void MISC_IRDutyConfig(uint16_t DutyHigh, uint16_t DutyLow);
void MISC_HardFaultCmd(uint32_t NewState);
void MISC_LockResetCmd(uint32_t NewState);
void MISC_IRQLATConfig(uint8_t Latency);

#ifdef __cplusplus
}
#endif
     
#endif  /* __LIB_MISC_H */

/*********************************** END OF FILE ******************************/