⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 crm.h

📁 基于MMA7260QR2的跌落检查程序
💻 H
📖 第 1 页 / 共 2 页
字号:
  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 + -