?? spi.h
字號:
//*------------------------------------------------------------------------------------------------
//* 文件名 : spi.h
//* 功能描述 : spi設備相關的常量、宏、函數原型定義
//* 作者 : 焦海波
//* 版本 : 0.1
//* 建立日期、時間 : 2008/05/04 14:39
//* 最近修改日期、時間 :
//* 修改原因 :
//*------------------------------------------------------------------------------------------------
#ifndef SPI_H
#define SPI_H
#ifdef OS_GLOBALS
#define OS_SPI_EXT
#else
#define OS_SPI_EXT extern
#endif
//*---------------------------------------- 常量、變量及宏定義 ------------------------------------
//* 定義SPI端口號
#define SPI0 0
#define SPI1 1
//* SPI0相關引腳定義
#define SPI0_PINS (AT91C_PA16_SPI0_MISO | AT91C_PA17_SPI0_MOSI | AT91C_PA18_SPI0_SPCK)
//* SPI1相關引腳定義
#define SPI1_PINS ( AT91C_PA24_SPI1_MISO | AT91C_PA23_SPI1_MOSI | AT91C_PA22_SPI1_SPCK)
//* SPI中斷優先級
#define SPI_IRQ_PRIOR 7
//* 等待SPI設備接收結束
OS_SPI_EXT INT8U u8IsNotRecvEnd;
#define macWaitSPIRecvEnd() while(u8IsNotRecvEnd);u8IsNotRecvEnd = OS_TRUE;
//* SPI0訪問阻塞句柄
OS_SPI_EXT OS_EVENT *hSPI0;
//*------------------------------------------- 結構體定義 ----------------------------------------
//* SPI接口描述符
typedef void(*PFUN_SPI_ISR)(void);
typedef struct {
AT91PS_SPI pSPI; //* SPI基址
INT32U u32Pins; //* 相關引腳
INT8U u8SPIID; //* SPI的外設ID號
INT32U u32NeedPullUpPin; //* 需要使能內部上拉電阻的引腳
INT8U u8IRQPrior; //* 需要使能內部上拉電阻的引腳
PFUN_SPI_ISR pfunSPIIsr; //* SPI中斷服務子函數入口地址
} SPI0_DEV_DESCRIPTOR;
//* 與SPI接口相連的設備進行讀寫操作時使用的結構體
typedef int(*PFUN_CALLBACK)(void *);
typedef struct {
INT8U u8SPIPort;
INT8U u8NPCSPin;
INT8U *pbCmd;
INT8U u8CmdLen;
INT8U *pbData;
INT32U u32DataLen;
PFUN_CALLBACK pfunCallBack;
void *pvArg; //* 傳遞給回調函數的參數
}ST_SPI_DEV_RW;
//*-------------------------------------------- 原型聲明 -----------------------------------------
OS_SPI_EXT void SPIConfig(INT8U u8SPIPort);
OS_SPI_EXT void ReadAndWriteSPIDev(ST_SPI_DEV_RW *pstOpt);
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -