?? system.h
字號:
/****************************************Copyright (c)**************************************************
** Guangzou ZLG-MCU Development Co.,LTD.
** graduate school
** http://www.zlgmcu.com
**
**--------------File Info-------------------------------------------------------------------------------
** File name: target.h
** Last modified Date: 2005-11-14
** Last Version: 1.0
** Descriptions: header file of the specific codes for LPC2200 target boards
** Every project should include a copy of this file, user may modify it as needed
**------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Descriptions:
**
********************************************************************************************************/
#ifndef __SYSTEM_H
#define __SYSTEM_H
#ifdef __cplusplus
extern "C" {
#endif
__swi(0xaa) unsigned int SwiHandle(int, ...);
/*********************************************************************************************************
** 函數名稱: FIQDisable
** 功能描述: 全局禁止FIQ中斷
** 輸 入: 無
** 輸 出: 無
********************************************************************************************************/
__inline void FIQDisable(void)
{
SwiHandle(0x100);
}
/*********************************************************************************************************
** 函數名稱: FIQEnable
** 功能描述: 全局允許FIQ中斷
** 輸 入: 無
** 輸 出: 無
********************************************************************************************************/
__inline void FIQEnable(void)
{
SwiHandle(0x101);
}
/*********************************************************************************************************
** 函數名稱: FIQSave
** 功能描述: 全局禁止FIQ中斷的同時返回FIQ的狀態
** FIQRestore()配對使用
** 輸 入: 無
** 輸 出: 無
********************************************************************************************************/
__inline unsigned int FIQSave(void)
{
return SwiHandle(0x102);
}
/*********************************************************************************************************
** 函數名稱: FIQRestore
** 功能描述: 與IRQFIQSaveSave()配對使用,恢復全局FIQ狀態
** 輸 入: psr:FIQSave()返回的值
** 輸 出: 無
********************************************************************************************************/
__inline void FIQRestore(unsigned int psr)
{
SwiHandle(0x103, psr);
}
/*********************************************************************************************************
** 函數名稱: SetUsrSWIAddr
** 功能描述: 設置用戶SWI服務程序,非必要情況不要使用
** 輸 入: Function:中斷服務程序(普通C語言函數)
** 輸 出:無
********************************************************************************************************/
#if 0
__inline void SetUsrSWIAddr(void *Function)
{
SwiHandle(0x104, Function);
}
#endif
/*********************************************************************************************************
** 函數名稱: SetUsrFIQaddr
** 功能描述: 設置FIQ中斷服務程序
** 輸 入: Function:中斷服務程序(普通C語言函數)
** 輸 出:無
********************************************************************************************************/
__inline void SetUsrFIQaddr(void *Function)
{
SwiHandle(0x105, Function);
}
/*********************************************************************************************************
** 函數名稱: SetDefIRQAddr
** 功能描述: 設置非向量中斷服務程序
** 輸 入: Function:中斷服務程序(普通C語言函數)
** 輸 出:無
********************************************************************************************************/
__inline void SetDefIRQAddr(void *Function)
{
SwiHandle(0x106, Function);
}
/*********************************************************************************************************
** 函數名稱: SetISRFuction
** 功能描述: 設置向量中斷服務程序
** 輸 入: Channel: 中斷通道號
** PRI: 中斷優先級
** Function:中斷服務程序(普通C語言函數)
** 輸 出:無
********************************************************************************************************/
__inline void SetISRFuction(unsigned int Channel, unsigned int PRI, void *Function)
{
SwiHandle(0x107, Channel, PRI, Function);
}
#if 1
/*********************************************************************************************************
** 函數名稱: SysInit
** 功能描述: 系統初始化從I2c從器件讀數據
** 輸 入: 無
** 輸 出: 無
********************************************************************************************************/
__inline void SysInit(void)
{
SwiHandle(0x108);
}
#endif
/*********************************************************************************************************
** 函數名稱: I2cInit
** 功能描述: 初始化I2c為(主模式)
** 輸 入: I2cDiv:I2c總線分頻值
**
** 輸 出:TRUE :成功
** FALSE:失敗
********************************************************************************************************/
__inline uint8 I2cInit(uint32 I2cDiv)
{
return SwiHandle(0x109, I2cDiv);
}
/*********************************************************************************************************
** 函數名稱: I2cWrite
** 功能描述: 向I2C從器件寫數據
** 輸 入: Addr:從機地址
** Data:指向將要寫的數據的指針
** NByte:寫的數據數目
** 輸 出:發送的數據字節數
**
********************************************************************************************************/
__inline uint16 I2cWrite(uint8 Addr, uint8 *Data, int16 NByte)
{
return SwiHandle(0x10a, Addr, Data, NByte);
}
/*********************************************************************************************************
** 函數名稱: I2cRead
** 功能描述: 從I2c從器件讀數據
** 輸 入: Addr:從機地址
** Ret:指向返回數據存儲位置的指針
** Eaddr:擴展地址存儲位置
** EaddrNByte:擴展地址字節數,0為無
** ReadNbyte:將要讀取的字節數目
** 輸 出:已讀取的字節數
********************************************************************************************************/
__inline int16 I2cRead(uint8 Addr, uint8 *Ret, uint8 *Eaddr, int16 EaddrNByte, int16 ReadNbyte)
{
return SwiHandle(0x10b, Addr, Ret, Eaddr, EaddrNByte, ReadNbyte);
}
/*********************************************************************************************************
** 函數名稱: I2cGetFlag
** 功能描述: 獲取I2C總線狀態
** 輸 入: 無
**
** 輸 出: 0: 忙
** I2C_WRITE_END: 寫完成
** I2C_READ_END: 讀完成
** I2C_NOT_GET_BUS: 丟失仲裁
** I2C_ACK_ERR: 接收ACK錯誤
** 0xff: 空閑
********************************************************************************************************/
__inline uint8 I2cGetFlag(void)
{
return SwiHandle(0x10c);
}
/*********************************************************************************************************
** 函數名稱: I2cGetWriteBytes
** 功能描述: 獲得未寫完的數據個數
** 輸 入: 無
** 輸 出: 未寫完的數據個數
**
********************************************************************************************************/
__inline uint16 I2cGetWriteBytes(void)
{
return SwiHandle(0x10d);
}
/*********************************************************************************************************
** 函數名稱: I2cGetReadBytes
** 功能描述: 從I2c從器件讀數據
** 輸 入: 無
** 輸 出:未讀完的數據個數
********************************************************************************************************/
__inline int16 I2cGetReadBytes(void)
{
return SwiHandle(0x10e);
}
#ifdef __cplusplus
}
#endif
#endif
/*********************************************************************************************************
** End Of File
********************************************************************************************************/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -