📄 xti.h
字号:
/****************************************Copyright (c)**************************************************
**
** STR710 development team
**
**
** http://www.appchip.com
**
**--------------文件信息--------------------------------------------------------------------------------
** 文 件 名: xti.h
** 创 建 人: lhl
** 创建日期: 2006年5月10日
** 描 述: 该文件包含了所有XTI功能函数原型与所需要的常量
**
**--------------历史版本--------------------------------------------------------------------------------
** 创 建 人: lhl
** 版 本: V1.0
** 日 期: 2006年5月10日
** 描 述: 原始版本
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#ifndef __XTI_H
#define __XTI_H
#include "cpu_cfg.h"
#ifdef __cplusplus
extern "C" {
#endif
#if EN_ARM_XTI > 0 //决定是否编译该文件
/************************************** 宏定义,常量定义 ******************************************/
#define XTI_LINE0 0x0001
#define XTI_LINE1 (XTI_LINE0<<1)
#define XTI_LINE2 (XTI_LINE1<<1)
#define XTI_LINE3 (XTI_LINE2<<1)
#define XTI_LINE4 (XTI_LINE3<<1)
#define XTI_LINE5 (XTI_LINE4<<1)
#define XTI_LINE6 (XTI_LINE5<<1)
#define XTI_LINE7 (XTI_LINE6<<1)
#define XTI_LINE8 (XTI_LINE7<<1)
#define XTI_LINE9 (XTI_LINE8<<1)
#define XTI_LINE10 (XTI_LINE9<<1)
#define XTI_LINE11 (XTI_LINE10<<1)
#define XTI_LINE12 (XTI_LINE11<<1)
#define XTI_LINE13 (XTI_LINE12<<1)
#define XTI_LINE14 (XTI_LINE13<<1)
#define XTI_LINE15 (XTI_LINE14<<1)
/************************************** 枚举类型定义 *******************************************/
typedef enum
{
XTI_WAKEUP = 1,
XTI_INTERRUPT = 2,
XTI_WAKEUPINTERRUPT = 3
} XTI_MODE_T;
typedef enum
{
XTI_FALLINGEDGE,
XTI_RISINGEDGE
} XTI_TRIGGEREDGE_T;
/************************************** 结构体类型定义 ******************************************/
/********************************** 全局外部函数原型声明 *****************************************/
/* 得到中断line的值 */
#define XTI_GET_INTERRUPT_LINE_VALUE() XTI_PRL | ((UWORD16)XTI_PRH<<8)
/* 清除中断PENDING BIT */
#define XTI_CLR_PENDING_BIT(lines) XTI_PRL &= ~lines; \
XTI_PRH &= ~((lines>>8)&0x00FF)
/* 产生软件IRQ中断 */
#define XTI_SWIRQ_GENERATE() XTI_SR = 0x01; \
XTI_SR = 0x00
void XTI_Reset(void); /* 系统复位时XTI默认配置 */
void XTI_ModeConfig(XTI_MODE_T mode, CONFIG_STATUS_T new_state); /* 配置XTI模式 */
void XTI_LineModeConfig(UWORD16 lines, XTI_TRIGGEREDGE_T trigger_edge); /* 配置外部中断触发方式 */
void XTI_LineConfig(UWORD16 lines, CONFIG_STATUS_T new_status); /* 允许和禁止 Lines 中断 */
/*******************************************************************************
* Function Name : XTI_InterruptLineValue
* Description : Get the interrupt lines
* Input 1 : None.
* Output : The interrupts lines numbers
* Return : None
*******************************************************************************/
inline UWORD16 XTI_InterruptLineValue(void)
{
return XTI_PRL | ((UWORD16)XTI_PRH<<8);
}
/*******************************************************************************
* Function Name : XTI_PendingBitClear
* Description : Clear the pending bits
* Input 1 : Bits to be cleared.
* Output : None
* Return : None
*******************************************************************************/
inline void XTI_PendingBitClear(UWORD16 Lines)
{
XTI_PRL &= ~Lines;
XTI_PRH &= ~((Lines>>8)&0x00FF);
}
#endif /* EN_ARM_XTI > 0 */
#ifdef __cplusplus
}
#endif
#endif /* __XTI_H */
/****************************************end of file*******************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -