📄 crm.h
字号:
gTimerWu_c,
gRtcWu_c
} crmWuSource_t;
typedef enum
{
gExtWuEventLevel_c,
gExtWuEventEdge_c
}crmExtWuEvent_t;
typedef enum
{
gExtWuPolLLevel_or_NEdge_c,
gExtWuPolHLevel_or_PEdge_c
}crmExtWuPol_t;
typedef union
{
uint32_t word;
struct
{
uint32_t kbi4WuEn:1;
uint32_t kbi5WuEn:1;
uint32_t kbi6WuEn:1;
uint32_t kbi7WuEn:1;
uint32_t kbi4WuEvent:1;
uint32_t kbi5WuEvent:1;
uint32_t kbi6WuEvent:1;
uint32_t kbi7WuEvent:1;
uint32_t kbi4WuPol:1;
uint32_t kbi5WuPol:1;
uint32_t kbi6WuPol:1;
uint32_t kbi7WuPol:1;
uint32_t kbi4IntEn:1;
uint32_t kbi5IntEn:1;
uint32_t kbi6IntEn:1;
uint32_t kbi7IntEn:1;
}bit;
struct
{
uint32_t kbiWuEn:4;
uint32_t kbiWuEvent:4;
uint32_t kbiWuPol:4;
uint32_t kbiIntEn:4;
}nibble;
}crmExtWuCtrl_t;
#define KBI4_WU_EN ctrl.ext.bit.kbi4WuEn
#define KBI5_WU_EN ctrl.ext.bit.kbi5WuEn
#define KBI6_WU_EN ctrl.ext.bit.kbi6WuEn
#define KBI7_WU_EN ctrl.ext.bit.kbi7WuEn
#define KBI4_WU_EVENT ctrl.ext.bit.kbi4WuEvent
#define KBI5_WU_EVENT ctrl.ext.bit.kbi5WuEvent
#define KBI6_WU_EVENT ctrl.ext.bit.kbi6WuEvent
#define KBI7_WU_EVENT ctrl.ext.bit.kbi7WuEvent
#define KBI4_WU_POL ctrl.ext.bit.kbi4WuPol
#define KBI5_WU_POL ctrl.ext.bit.kbi5WuPol
#define KBI6_WU_POL ctrl.ext.bit.kbi6WuPol
#define KBI7_WU_POL ctrl.ext.bit.kbi7WuPol
#define KBI4_INT_EN ctrl.ext.bit.kbi4IntEn
#define KBI5_INT_EN ctrl.ext.bit.kbi5IntEn
#define KBI6_INT_EN ctrl.ext.bit.kbi6IntEn
#define KBI7_INT_EN ctrl.ext.bit.kbi7IntEn
#define KBI_WU_EN ctrl.ext.nibble.kbiWuEn
#define KBI_WU_EVENT ctrl.ext.nibble.kbiWuEvent
#define KBI_WU_POL ctrl.ext.nibble.kbiWuPol
#define KBI_INT_EN ctrl.ext.nibble.kbiIntEn
typedef struct
{
uint32_t timerWuEn:1;
uint32_t timerWuIntEn:1;
uint32_t timeOut;
}crmTimerWuCtrl_t;
#define TIMER_WU_EN ctrl.timer.timerWuEn
#define TIMER_WU_INT_EN ctrl.timer.timerWuIntEn
#define TIMER_WU_TIMEOUT ctrl.timer.timeOut
typedef struct
{
uint32_t rtcWuEn:1;
uint32_t rtcWuIntEn:1;
uint32_t timeOut;
}crmRtcWuCtrl_t;
#define RTC_WU_EN ctrl.rtc.rtcWuEn
#define RTC_WU_INT_EN ctrl.rtc.rtcWuIntEn
#define RTC_WU_TIMEOUT ctrl.rtc.timeOut
typedef struct{
crmWuSource_t wuSource;
union
{
crmExtWuCtrl_t ext;
crmTimerWuCtrl_t timer;
crmRtcWuCtrl_t rtc;
}ctrl;
}crmWuCtrl_t;
typedef enum
{
gRamRet8k_c,
gRamRet32k_c,
gRamRet64k_c,
gRamRet96k_c
} crmRamRet_t;
typedef enum
{
gNoMcuRet_c,
gMcuRet_c,
gMcuAndDigPadRet_c=3
} crmMcuRet_t;
typedef enum
{
gHibernate_c,
gDoze_c
} crmSleep_t;
typedef struct
{
uint8_t sleepType:1;// 0 hibernate / 1 doze
uint8_t ramRet:2;
uint8_t mcuRet:1;
uint8_t digPadRet:1;
pfCallback_t pfToDoBeforeSleep;
}crmSleepCtrl_t;
/************************************************************************************
*************************************************************************************
* Public prototypes
*************************************************************************************
************************************************************************************/
/************************************************************************************
* Interface assumptions:
* None
*
* Return value:
* Revision history:
* date Author Comments
* ------ ------ --------
* 07.11.2007 MD
************************************************************************************/
extern void CRM_GoToSleep(crmSleepCtrl_t* pSleepCtrl);
/************************************************************************************
* Interface assumptions:
* None
*
* Return value:
* Revision history:
* date Author Comments
* ------ ------ --------
* 07.11.2007 MD
************************************************************************************/
extern crmErr_t CRM_WuCntl(crmWuCtrl_t* pWuCtrl);
/************************************************************************************
* Interface assumptions:
* None
*
* Return value:
* Revision history:
* date Author Comments
* ------ ------ --------
* 07.11.2007 MD
************************************************************************************/
extern crmModuleEnableStatus_t CRM_ModuleEnStatus(void);
/************************************************************************************
* Interface assumptions:
* None
*
* Return value:
* Revision history:
* date Author Comments
* ------ ------ --------
* 07.11.2007 MD
************************************************************************************/
extern crmErr_t CRM_CopCntl(crmCopCntl_t copCntl);
/************************************************************************************
* Interface assumptions:
* None
*
* Return value:
* Revision history:
* date Author Comments
* ------ ------ --------
* 07.11.2007 MD
************************************************************************************/
extern crmErr_t CRM_ForceCopTimeout(void);
/************************************************************************************
* Interface assumptions:
* None
*
* Return value:
* Revision history:
* date Author Comments
* ------ ------ --------
* 07.11.2007 MD
************************************************************************************/
extern void CRM_Wait4Irq(void);
/************************************************************************************
* Interface assumptions:
* None
*
* Return value:
* Revision history:
* date Author Comments
* ------ ------ --------
* 07.11.2007 MD
************************************************************************************/
extern crmErr_t CRM_BusStealingCntl(crmBSCntl_t bsCntl,bool_t armClkGate,uint8_t cyclesToSteal);
/************************************************************************************
* Interface assumptions:
* None
*
* Return value:
* Revision history:
* date Author Comments
* ------ ------ --------
* 07.11.2007 MD
************************************************************************************/
extern crmErr_t CRM_RefXtalControl(crmRefXtalCntl_t xtalCntl);
/************************************************************************************
* Interface assumptions:
* None
*
* Return value:
* Revision history:
* date Author Comments
* ------ ------ --------
* 07.11.2007 MD
************************************************************************************/
extern crmErr_t CRM_2kToXtal32Switch(bool_t armHalted, pfCallback_t pfToCallback);
/************************************************************************************
* Interface assumptions:
* None
*
* Return value:
* Revision history:
* date Author Comments
* ------ ------ --------
* 07.11.2007 MD
************************************************************************************/
extern crmErr_t CRM_RingOscCal(uint16_t calLength,bool_t haltMcu, void * pTR);
/************************************************************************************
* Interface assumptions:
* None
*
* Return value:
* Revision history:
* date Author Comments
* ------ ------ --------
* 07.11.2007 MD
************************************************************************************/
extern crmErr_t CRM_RingOscAbortCal(void);
/************************************************************************************
* Interface assumptions:
* None
*
* Return value:
* Revision history:
* date Author Comments
* ------ ------ --------
* 07.11.2007 MD
************************************************************************************/
extern crmErr_t CRM_SetPowerSource(crmPowerSource_t pwSource);
/************************************************************************************
* Interface assumptions:
* None
*
* Return value:
* Revision history:
* date Author Comments
* ------ ------ --------
* 07.11.2007 MD
************************************************************************************/
extern crmErr_t CRM_VRegCntl(crmVRegCntl_t* pVRegCntl);
/************************************************************************************
* Interface assumptions:
* None
*
* Return value:
* Revision history:
* date Author Comments
* ------ ------ --------
* 07.11.2007 MD
************************************************************************************/
extern crmErr_t CRM_VRegTrimm(crmTrimmedDevice_t trimmedDevice,uint8_t trimmValue);
/************************************************************************************
* Interface assumptions:
* None
*
* Return value:
* Revision history:
* date Author Comments
* ------ ------ --------
* 07.11.2007 MD
************************************************************************************/
extern crmErr_t CRM_SetDigOutDriveStrength(crmPadsDriveStrength_t padsDriveStrength);
/************************************************************************************
* Interface assumptions:
* None
*
* Return value:
* Revision history:
* date Author Comments
* ------ ------ --------
* 07.11.2007 MD
************************************************************************************/
extern crmErr_t CRM_SetSPIFDriveStrength(crmPadsDriveStrength_t spiFDriveStrength);
/************************************************************************************
* Interface assumptions:
* None
*
* Return value:
* Revision history:
* date Author Comments
* ------ ------ --------
* 07.11.2007 MD
************************************************************************************/
extern crmErr_t CRM_RegisterISR(crmInterruptSource_t crmIS, pfCallback_t pfISR);
/************************************************************************************
* Interface assumptions:
* None
*
* Return value:
* Revision history:
* date Author Comments
* ------ ------ --------
* 07.11.2007 MD
************************************************************************************/
extern void CRM_Isr(void);
#endif /* _CRM_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -