lib_misc.h 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. /**
  2. ******************************************************************************
  3. * @file lib_misc.h
  4. * @author Application Team
  5. * @version V4.4.0
  6. * @date 2018-09-27
  7. * @brief MISC library.
  8. ******************************************************************************
  9. * @attention
  10. *
  11. ******************************************************************************
  12. */
  13. #ifndef __LIB_MISC_H
  14. #define __LIB_MISC_H
  15. #ifdef __cplusplus
  16. extern "C" {
  17. #endif
  18. #include "target.h"
  19. //FlagMask
  20. #define MISC_FLAG_LOCKUP MISC_SRAMINT_LOCKUP
  21. #define MISC_FLAG_PIAC MISC_SRAMINT_PIAC
  22. #define MISC_FLAG_HIAC MISC_SRAMINT_HIAC
  23. #define MISC_FLAG_PERR MISC_SRAMINT_PERR
  24. #define MISC_FLAG_Msk (MISC_FLAG_LOCKUP | MISC_FLAG_PIAC | MISC_FLAG_HIAC | MISC_FLAG_PERR)
  25. //MISC interrupt
  26. #define MISC_INT_LOCK MISC_SRAMINIT_LOCKIE
  27. #define MISC_INT_PIAC MISC_SRAMINIT_PIACIE
  28. #define MISC_INT_HIAC MISC_SRAMINIT_HIACIE
  29. #define MISC_INT_PERR MISC_SRAMINIT_PERRIE
  30. #define MISC_INT_Msk (MISC_INT_LOCK | MISC_INT_PIAC | MISC_INT_HIAC | MISC_INT_PERR)
  31. //IR
  32. #define MISC_IREN_TX0 MISC_IREN_UART0
  33. #define MISC_IREN_TX1 MISC_IREN_UART1
  34. #define MISC_IREN_TX2 MISC_IREN_UART2
  35. #define MISC_IREN_TX3 MISC_IREN_UART3
  36. #define MISC_IREN_TX4 MISC_IREN_UART4
  37. #define MISC_IREN_TX5 MISC_IREN_UART5
  38. #define MISC_IREN_Msk (0x3FUL)
  39. /* Private macros ------------------------------------------------------------*/
  40. #define IS_MISC_FLAGR(__FLAGR__) (((__FLAGR__) == MISC_FLAG_LOCKUP) ||\
  41. ((__FLAGR__) == MISC_FLAG_PIAC) ||\
  42. ((__FLAGR__) == MISC_FLAG_HIAC) ||\
  43. ((__FLAGR__) == MISC_FLAG_PERR))
  44. #define IS_MISC_FLAGC(__FLAGC__) ((((__FLAGC__) & MISC_FLAG_Msk) != 0U) &&\
  45. (((__FLAGC__) & ~MISC_FLAG_Msk) == 0U))
  46. #define IS_MISC_INT(__INT__) ((((__INT__) & MISC_INT_Msk) != 0U) &&\
  47. (((__INT__) &~MISC_INT_Msk) == 0U))
  48. #define IS_MISC_IREN(__IREN__) ((((__IREN__) & MISC_IREN_Msk) != 0U) &&\
  49. (((__IREN__) & ~MISC_IREN_Msk) == 0U))
  50. /* Exported Functions ------------------------------------------------------- */
  51. uint8_t MISC_GetFlag(uint32_t FlagMask);
  52. void MISC_ClearFlag(uint32_t FlagMask);
  53. void MISC_INTConfig(uint32_t INTMask, uint32_t NewState);
  54. void MISC_SRAMParityCmd(uint32_t NewState);
  55. uint32_t MISC_GetSRAMPEAddr(void);
  56. uint32_t MISC_GetAPBErrAddr(void);
  57. uint32_t MISC_GetAHBErrAddr(void);
  58. void MISC_IRCmd(uint32_t IRx, uint32_t NewState);
  59. void MISC_IRDutyConfig(uint16_t DutyHigh, uint16_t DutyLow);
  60. void MISC_HardFaultCmd(uint32_t NewState);
  61. void MISC_LockResetCmd(uint32_t NewState);
  62. void MISC_IRQLATConfig(uint8_t Latency);
  63. #ifdef __cplusplus
  64. }
  65. #endif
  66. #endif /* __LIB_MISC_H */
  67. /*********************************** END OF FILE ******************************/