基础知识初始化 SPI 和片选引脚,并执行 1 字节传输

#include <SPI.h>
#define CSPIN 1

void setup() {
  pinMode(CSPIN, OUTPUT); // init chip select pin as an output
  digitalWrite(CSPIN, 1); // most slaves interpret a high level on CS as "deasserted"

  SPI.begin();

  SPI.beginTransaction(SPISettings(1000000, MSBFIRST, SPI_MODE0));
  digitalWrite(CSPIN, 0);

  unsigned char sent = 0x01;
  unsigned char received = SPI.transfer(sent);
  // more data could be transferred here

  digitalWrite(CSPIN, 1);
  SPI.endTransaction();

  SPI.end();
}

void loop() {
  // we don't need loop code in this example.
}

这个例子:

  • 正确初始化并使用芯片选择引脚(见备注)
  • 正确使用 SPI 交易(见备注)
  • 仅使用 SPI 传输一个字节。还有一种传输阵列的方法,这里没有使用。