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

📄 xti.h

📁 arm(str710)usb功能的实现
💻 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 + -