8051-ELL库  beta 1.1.6
8051-ELL library API Document Center
STC8x_SPI.h 文件参考
#include "ELL_CORE.h"
#include "STC8Ax_REG.h"
STC8x_SPI.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

结构体

struct  SPIInit_Type
 SPI初始化枚举体,需要你定义它,并用它的地址来传参给初始化函数。 更多...
 

宏定义

#define PER_LIB_MCU_MUODEL   STC8Ax
 如果没有定义这个宏,默认为STC8Ax。 If the mirco is undefined,select to STC8Ax 更多...
 
#define PER_LIB_SPI_CTRL   1
 如果没有定义这个宏,默认为1。 If the mirco is undefined,select to "1" 更多...
 
#define PER_LIB_SPI_INIT_CTRL   1
 如果没有定义这个宏,默认为1。 If the mirco is undefined,select to "1" 更多...
 
#define PER_LIB_SPI_NVIC_CTRL   1
 如果没有定义这个宏,默认为1。 If the mirco is undefined,select to "1" 更多...
 
#define PER_LIB_SPI_WORK_CTRL   1
 如果没有定义这个宏,默认为1。 If the mirco is undefined,select to "1" 更多...
 
#define NVIC_SPI_CTRL(run)   do{ IE2 = (IE2 & 0xFD) | (run << 1); }while(0)
 SPI中断开关控制宏函数。 更多...
 
#define NVIC_SPI_PRI(pri)
 SPI选择中断优先级宏函数。 更多...
 
#define SPI_GET_FLAG()   (SPSTAT & 0x80)
 SPI获取中断标志位宏函数。 更多...
 
#define SPI_CLEAR_FLAG()   do{SPSTAT = 0xC0;}while(0)
 SPI清除中断标志位宏函数。 更多...
 

枚举

enum  SPIType_Type { SPI_Type_Master_Slave = 0x00 , SPI_Type_Master = 0x90 , SPI_Type_Slave = 0x80 }
 SPI工作类型枚举体。 更多...
 
enum  SPIClkSrc_Type { SPI_SCLK_DIV_4 = 0x00 , SPI_SCLK_DIV_8 = 0x01 , SPI_SCLK_DIV_16 = 0x02 , SPI_SCLK_DIV_32 = 0x03 }
 SPI时钟源选择枚举体。 更多...
 
enum  SPITran_Type { SPI_Tran_MSB = 0x00 , SPI_Tran_LSB = 0x01 }
 SPI传输类型枚举体。 更多...
 
enum  SPIMode_Type { SPI_Mode_0 = 0x00 , SPI_Mode_1 = 0x01 , SPI_Mode_2 = 0x02 , SPI_Mode_3 = 0x03 }
 SPI模式枚举体。 更多...
 

函数

FSCSTATE SPI_Init (const SPIInit_Type *spix)
 SPI初始化函数。 更多...
 
FSCSTATE NVIC_SPI_Init (NVICPri_Type pri, BOOL run)
 SPI中断初始化函数。 更多...
 
FSCSTATE SPI_Send_Data (uint8_t dat)
 SPI发送数据(一个字节)函数。 更多...
 
uint8_t SPI_Receive_Data (void)
 SPI接收数据(一个字节)函数。 更多...
 
FSCSTATE GPIO_SPI_SWPort (GPIOSWPort_Type port)
 SPI切换复用IO函数。 更多...
 

宏定义说明

◆ NVIC_SPI_CTRL

#define NVIC_SPI_CTRL (   run)    do{ IE2 = (IE2 & 0xFD) | (run << 1); }while(0)

SPI中断开关控制宏函数。

SPI interrupt switch control macro function.

参数
[in]run使能控制位。Enable control bit.

◆ NVIC_SPI_PRI

#define NVIC_SPI_PRI (   pri)
值:
do{ \
IP2H = (IP2H & 0xFD) | (pri & 0x02); \
IP2 = (IP2 & 0xFD) | ((pri & 0x01) << 1); \
}while(0)
sfr IP2H
Definition: STC15x_REG.h:213
sfr IP2
Definition: STC15x_REG.h:211

SPI选择中断优先级宏函数。

SPI select interrupt pri macro function.

参数
[in]pri中断优先级。 pri of interrupt.

◆ PER_LIB_MCU_MUODEL

#define PER_LIB_MCU_MUODEL   STC8Ax

如果没有定义这个宏,默认为STC8Ax。 If the mirco is undefined,select to STC8Ax

◆ PER_LIB_SPI_CTRL

#define PER_LIB_SPI_CTRL   1

如果没有定义这个宏,默认为1。 If the mirco is undefined,select to "1"

◆ PER_LIB_SPI_INIT_CTRL

#define PER_LIB_SPI_INIT_CTRL   1

如果没有定义这个宏,默认为1。 If the mirco is undefined,select to "1"

◆ PER_LIB_SPI_NVIC_CTRL

#define PER_LIB_SPI_NVIC_CTRL   1

如果没有定义这个宏,默认为1。 If the mirco is undefined,select to "1"

◆ PER_LIB_SPI_WORK_CTRL

#define PER_LIB_SPI_WORK_CTRL   1

如果没有定义这个宏,默认为1。 If the mirco is undefined,select to "1"

◆ SPI_CLEAR_FLAG

#define SPI_CLEAR_FLAG ( )    do{SPSTAT = 0xC0;}while(0)

SPI清除中断标志位宏函数。

SPI clears the interrupt flag macro function.

◆ SPI_GET_FLAG

#define SPI_GET_FLAG ( )    (SPSTAT & 0x80)

SPI获取中断标志位宏函数。

SPI gets the interrupt flag macro function.

枚举类型说明

◆ SPIClkSrc_Type

SPI时钟源选择枚举体。

SPI clock source select enum.

枚举值
SPI_SCLK_DIV_4 

SPI系统时钟源4分频。SPI system clock source divided by 4.

SPI_SCLK_DIV_8 

SPI系统时钟源8分频。SPI system clock source divided by 8.

SPI_SCLK_DIV_16 

SPI系统时钟源16分频。SPI system clock source divided by 16.

SPI_SCLK_DIV_32 

SPI系统时钟源32分频。SPI system clock source divided by 32.

◆ SPIMode_Type

SPI模式枚举体。

SPI mode control enum .

枚举值
SPI_Mode_0 

模式0。mode 0.

SPI_Mode_1 

模式1。mode 1.

SPI_Mode_2 

模式2。mode 2.

SPI_Mode_3 

模式3。mode 3.

◆ SPITran_Type

SPI传输类型枚举体。

SPI Transmission sequence enum.

枚举值
SPI_Tran_MSB 

数据的最高位存放在字节的第0位。 The highest bit of the data is stored in the 0th bit of the byte.

SPI_Tran_LSB 

数据的最低位存放在字节的第0位。 The lowest bit of the data is stored in the 0th bit of the byte.

◆ SPIType_Type

SPI工作类型枚举体。

SPI type control enum.

枚举值
SPI_Type_Master_Slave 

SPI互为主从机模式。SPI is mutually master-slave mode.

SPI_Type_Master 

SPI互为主机模式。SPI is mutually master mode.

SPI_Type_Slave 

SPI互为主机模式。SPI is mutually slave mode.

函数说明

◆ GPIO_SPI_SWPort()

FSCSTATE GPIO_SPI_SWPort ( GPIOSWPort_Type  port)

SPI切换复用IO函数。

SPI switch out port control function.

参数
[in]port复用IO枚举体。IO switch enumerator.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ NVIC_SPI_Init()

FSCSTATE NVIC_SPI_Init ( NVICPri_Type  pri,
BOOL  run 
)

SPI中断初始化函数。

SPI init NVIC function.

参数
[in]pri中断优先级。interrupt priority.
[in]run使能控制位。enable control.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ SPI_Init()

FSCSTATE SPI_Init ( const SPIInit_Type spix)

SPI初始化函数。

SPI initialization function.

参数
[in]spixSPI初始化结构体句柄,你需要定义它,并其地址传参。
you need to definean associated initialization handle, And pass it by its address.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.

◆ SPI_Receive_Data()

uint8_t SPI_Receive_Data ( void  )

SPI接收数据(一个字节)函数。

SPI receive data function.

参数
None.
返回
[uint8_t] 接收的数据。 receive data.

◆ SPI_Send_Data()

FSCSTATE SPI_Send_Data ( uint8_t  dat)

SPI发送数据(一个字节)函数。

SPI send data function

参数
[in]dat要发送的数据。 data of SPI.
返回
FSC_SUCCESS 返回成功。Return to success.
FSC_FAIL 返回失败。Return to fail.