📄 spi.h
字号:
#ifndef __SPI_H__
#define __SPI_H__
#ifdef SPI_GLOBALS
#define SPI_EXT
#else
#define SPI_EXT extern
#endif
#define SPI_TX_REQ 1
#define SPI_RX_REQ 2
//#define SPI_TX_TX 4
#define SPI_RX_FULL 8
#define SPI_XMT_IDLE 0
#define SPI_ERR_OV 16
#define SPI_ERR_MODF 32
#define SPI_ERR_NORESPONSE 64
#define SPI_FLAG_INT 4
#define SPI_FLAG_THEM 128
#define SPI_MAX_DATA_LEN 3
#define SPI_CLK_DIV2 0
#define SPI_CLK_DIV8 1
#define SPI_CLK_DIV32 2
#define SPI_CLK_DIV128 3
#define SPI_CLK_DIVIDOR SPI_CLK_DIV32
#define SPI_MODE_SLAVE 0
#define SPI_MODE_MASTER 1
#define SPI_SPRF 0x80
#define SPI_OVRF 0x20
#define SPI_MODF 0x10
#define SPI_ENABLE 1
#define SPI_DISABLE 0
#define SPI_XMT_TIMEOUT 4
#define SPI_ERR_TIMEOUT 4 //wait for 1s when spi communication error ocurred
#define SPI_TIMER_UNUSED 0xaa55
typedef struct
{
// void *mTXData;
// void *mRXData;
unsigned char mDataLength;
unsigned char mState;
unsigned char mRxCounter;
unsigned char mTxCounter;
unsigned int mTimer;
}SPIStr;
SPI_EXT SPIStr SPIBuf;
SPI_EXT unsigned char SPI_Tx_Buf[SPI_MAX_DATA_LEN];
SPI_EXT unsigned char SPI_Rx_Buf[SPI_MAX_DATA_LEN];
SPI_EXT unsigned char SPI_State;
/************************************
*Function Name: SPI_SetMode
*Parameter: nMode, 0 - Slave Mode; 1 - Master Mode
*Orignator: Wang junpeng
*Date: 1st, June, 2005
*Discription: Config SPI Mode as nMode
*
**************************************/
void SPI_SetMode(unsigned char nMode);
/************************************
*Function Name: SPI_Init
*Parameter: None
*Orignator: Wang junpeng
*Date: 2nd, June, 2005
*Discription: Initialize SPI
*
**************************************/
void SPI_Init(void);
/************************************
*Function Name: SPI_Enable
*Parameter: En, 0 - Disable; 1 - Enable
*Orignator: Wang junpeng
*Date: 2nd, June, 2005
*Discription: Enable SPI Function
*
**************************************/
L_BOOL SPI_Enable(L_U8 En, L_U8 bInt);
/************************************
*Function Name: SPI_Start
*Parameter: nDataLength
*Orignator: Wang junpeng
*Date: 2nd, June, 2005
*Discription: Start SPI Transmission
*
**************************************/
void SPI_Start(unsigned char nDataLength);
/************************************
*Function Name: SPI_RxIndicator
*Parameter: None
*Orignator: Wang junpeng
*Date: 2nd, June, 2005
*Discription: All SPI Data received Indication
*
**************************************/
void SPI_RxIndicator(void);
#if SPI_DEBUG_MODE == 1
void SPI_Debug(void);
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -