基礎知識初始化 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 傳輸一個位元組。還有一種傳輸陣列的方法,這裡沒有使用。