?? viccontrol.h
字號(hào):
/****************************************Copyright (c)****************************************************
** Guangzhou ZHIYUAN electronics Co.,LTD.
**
** http://www.embedtools.com
**
**--------------File Info---------------------------------------------------------------------------------
** File name: vicControl.h
** Latest modified Date: 2008-04-21
** Latest Version: 1.0
** Descriptions: VIC控制代碼
**
**--------------------------------------------------------------------------------------------------------
** Created by: Chenmingji
** Created date: 2008-04-21
** Version: 1.0
** Descriptions: The original version
**
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Descriptions:
**
*********************************************************************************************************/
#ifndef _VIC_CONTROL_H_
#define _VIC_CONTROL_H_
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/*********************************************************************************************************
兼容定義,以后不要使用
*********************************************************************************************************/
#define VIC_Config VIC_IRQ_CFG
#define pVIC_Config PVIC_IRQ_CFG
#define SetVICIRQ vicIrqFuncSet
#define FreeVICIRQ vicIrqFuncClr
#define ReEnableVICIRQ vicIrqEnable
#define DisableVICIRQ vicIrqDisable
#define GetVICIRQState vicIrqStatusGet
#define SetVICFIQ vicFiqSet
#define FreeVICFIQ vicFiqClr
/*********************************************************************************************************
VIC配置信息定義
*********************************************************************************************************/
struct vic_irq_cfg {
INT32U ulChannel; /* 通道 */
INT32U ulPri; /* 優(yōu)先級(jí) */
INT32U ulFunctionAddr; /* ISR地址 */
INT32U ulEnable; /* 使能標(biāo)識(shí) */
};
typedef struct vic_irq_cfg VIC_IRQ_CFG;
typedef struct vic_irq_cfg *PVIC_IRQ_CFG;
/*********************************************************************************************************
** Function name: swiHandle1
** Descriptions: SWI函數(shù)聲明
** input parameters: iHandle: 用于區(qū)分功能
** output parameters: 根據(jù)功能決定
** Returned value: 根據(jù)功能決定
*********************************************************************************************************/
__swi(0x00) void swiHandle1(int iHandle);
/*********************************************************************************************************
** Function name: IRQDisable
** Descriptions: 關(guān)閉全局 IRQ 中斷
** input parameters: none
** output parameters: none
** Returned value: none
*********************************************************************************************************/
__inline unsigned int IRQDisable()
{
swiHandle1(0);
}
/*********************************************************************************************************
** Function name: IRQEnable
** Descriptions: 打開全局 IRQ 中斷
** input parameters: none
** output parameters: none
** Returned value: none
*********************************************************************************************************/
__inline unsigned int IRQEnable()
{
swiHandle1(1);
}
/*********************************************************************************************************
** Function name: FIQDisable
** Descriptions: 關(guān)閉全局 FIQ 中斷
** input parameters: none
** output parameters: none
** Returned value: none
*********************************************************************************************************/
__inline unsigned int FIQDisable()
{
swiHandle1(2);
}
/*********************************************************************************************************
** Function name: FIQEnable
** Descriptions: 打開全局 FIQ 中斷
** input parameters: none
** output parameters: none
** Returned value: none
*********************************************************************************************************/
__inline unsigned int FIQEnable()
{
swiHandle1(3);
}
/*********************************************************************************************************
** Function name: swiHandle
** Descriptions: SWI函數(shù)聲明
** input parameters: iHandle: 用于區(qū)分功能
** 其他: 根據(jù)功能決定
** output parameters: 根據(jù)功能決定
** Returned value: 根據(jù)功能決定
*********************************************************************************************************/
__swi(0x01) unsigned int swiHandle (int iHandle, unsigned int, unsigned int, unsigned int);
/*********************************************************************************************************
** Function name: vicIrqFuncSet
** Descriptions: 設(shè)置所選外設(shè)的中斷優(yōu)先級(jí)、中斷服務(wù)函數(shù)地址,并使能中斷
** input parameters: uiChannel: 外設(shè)對(duì)應(yīng)的中斷通道號(hào)
** uiPri: 中斷優(yōu)先級(jí)
** uiFuncAddr: 中斷服務(wù)函數(shù)地址
** output parameters: none
** Returned value: 1: 成功
** 0: 失敗
*********************************************************************************************************/
__inline unsigned int vicIrqFuncSet (unsigned int uiChannel,
unsigned int uiPri,
unsigned int uiFuncAddr)
{
return swiHandle(0x100, uiChannel, uiPri, uiFuncAddr);
}
/*********************************************************************************************************
** Function name: vicIrqFuncClr
** Descriptions: 清除所選外設(shè)的IRQ資源
** input parameters: uiChannel: 外設(shè)對(duì)應(yīng)的中斷通道號(hào)
** output parameters: none
** Returned value: 1: 成功
** 0: 失敗
*********************************************************************************************************/
__inline unsigned int vicIrqFuncClr (unsigned int uiChannel)
{
return swiHandle(0x101, uiChannel ,0 ,0);
}
/*********************************************************************************************************
** Function name: vicIrqEnable
** Descriptions: 使能相應(yīng)外設(shè)的中斷
** input parameters: uiChannel: 外設(shè)對(duì)應(yīng)的中斷通道號(hào)
** output parameters: none
** Returned value: 1: 成功
** 0: 失敗
*********************************************************************************************************/
__inline unsigned int vicIrqEnable (unsigned int uiChannel)
{
return swiHandle(0x102, uiChannel, 0, 0);
}
/*********************************************************************************************************
** Function name: vicIrqDisable
** Descriptions: 禁止相應(yīng)外設(shè)的中斷
** input parameters: uiChannel: 外設(shè)對(duì)應(yīng)的中斷通道號(hào)
** output parameters: none
** Returned value: 1: 成功
** 0: 失敗
*********************************************************************************************************/
__inline unsigned int vicIrqDisable (unsigned int uiChannel)
{
return swiHandle(0x103, uiChannel, 0, 0);
}
/*********************************************************************************************************
** Function name: vicIrqStatusGet
** Descriptions: 獲取所選外設(shè)的中斷通道號(hào)、優(yōu)先級(jí)、中斷服務(wù)函數(shù)地址及中斷使能狀態(tài)
** input parameters: uiChannel: 外設(shè)對(duì)應(yīng)的中斷通道號(hào)
** output parameters: pvicInfo: 配置信息
** Returned value: 1: 成功
** 0: 失敗
*********************************************************************************************************/
__inline unsigned int vicIrqStatusGet (unsigned int uiChannel, PVIC_IRQ_CFG pvicInfo)
{
return swiHandle(0x104, uiChannel, (unsigned int)pvicInfo, 0);
}
/*********************************************************************************************************
** Function name: vicFiqSet
** Descriptions: 設(shè)置并使能所選中斷通道號(hào)為FIQ中斷
** input parameters: uiChannel: 外設(shè)對(duì)應(yīng)的中斷通道號(hào)
** output parameters: none
** Returned value: 1: 成功
** 0: 失敗
*********************************************************************************************************/
__inline unsigned int vicFiqSet (unsigned int uiChannel)
{
return swiHandle(0x105, uiChannel, 0, 0);
}
/*********************************************************************************************************
** Function name: vicFiqClr
** Descriptions: 清除所選中斷通道號(hào)的FIQ中斷
** input parameters: uiChannel: 外設(shè)對(duì)應(yīng)的中斷通道號(hào)
** output parameters: none
** Returned value: 1: 成功
** 0: 失敗
*********************************************************************************************************/
__inline unsigned int vicFiqClr (unsigned int uiChannel)
{
return swiHandle(0x106, uiChannel, 0, 0);
}
/*********************************************************************************************************
允許中斷嵌套宏定義
*********************************************************************************************************/
#define OS_ENABLE_NESTING IRQEnable
#define OS_DISABLE_NESTING IRQDisable
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __TARGET_H */
/*********************************************************************************************************
END FILE
*********************************************************************************************************/
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -