summaryrefslogtreecommitdiff
path: root/bsp/Vango/v85xx/libraries/VangoV85xx_standard_peripheral/Include/lib_misc.h
blob: 50585d58a15a94a19c7c7fc0fed16272db6860c5 (plain)
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 ******************************/