SPIClass


SPIClass(uint32 spiPortNumber)

构造函数,定义SPI接口

void attachInterrupt(void)

void begin(void)

初始化总线

void beginSlave(uint32 bitOrder, uint32 mode)

初始化总线,并作为从机

void beginSlave(void)

初始化总线,并作为从机,相当于 beginSlave(MSBFIRST, 0)

void beginTransaction(SPISettings settings)

使用 SPISettings 初始化总线,例如:beginTransaction(SPISettings(14000000, MSBFIRST, SPI_MODE0))

void beginTransaction(uint8_t pin, SPISettings settings)

使用 SPISettings 初始化总线

void beginTransactionSlave(SPISettings settings)

使用 SPISettings 初始化总线,作为从机

void detachInterrupt(void)

uint8 dmaSend(const void * transmitBuf, uint16 length, bool minc = 1)

使用DMA进行传输

uint8 dmaSendAsync(const void * transmitBuf, uint16 length, bool minc = 1)

同上

uint8 dmaSendRepeat(uint16 length)

同上

void dmaSendSet(const void * transmitBuf, bool minc)

同上

uint8 dmaTransfer(const void transmitBuf, void receiveBuf, uint16 length)

使用DMA进行数据的发送接收

uint8 dmaTransferRepeat(uint16 length)

同上

void dmaTransferSet(const void transmitBuf, void receiveBuf)

同上

void end(void)

停止

void endTransaction(void)

停止传输,停止使用总线以便其他库来使用SPI总线

uint8 misoPin(void)

返回MISO引脚编号

uint8 mosiPin(void)

返回MOSI引脚编号

uint8 nssPin(void)

返回NSS引脚编号

uint16 read(void)

读取下一个还没由读取的数据

void read(uint8 *buffer, uint32 length)

读取指定长度的数据

uint8 sckPin(void)

返回SCK引脚编号

void setBitOrder(BitOrder bitOrder)

设置传输的字节序,LSBFIRST 或 MSBFIRST

void setClockDivider(uint32_t clockDivider)

设置总线的时钟分频

void setDataMode(uint8_t dataMode)

设置模式,SPI_MODE_0SPI_MODE_1SPI_MODE_2SPI_MODE_3

void setDataSize(uint32 ds)

设置数据位数为8或16

uint8 transfer(uint8 data) const

数据的发送和接收

uint16_t transfer16(uint16_t data) const

数据的发送和接收

void write(uint16 data)

写入数据

void write(uint16 data, uint32 n)

写入指定次数的数据

void write(const void * buffer, uint32 length)

写入指定长度的数据数组

void write16(uint16 data)

8位模式时写入2个字节数据