SPI

SPIバス (Controller) の読み書き

SPIバス (Controller) の読み書きを行います。

注意事項

定数

定数
意味

const uint8_t SPI_CONF::MSBFIRST

MSB を先頭ビットにする

const uint8_t SPI_CONF::LSBFIRST

LSB を先頭ビットにする

const uint8_t SPI_CONF::SPI_MODE0

SPI MODE 0 に設定する

const uint8_t SPI_CONF::SPI_MODE1

SPI MODE 1 に設定する

const uint8_t SPI_CONF::SPI_MODE2

SPI MODE 2 に設定する

const uint8_t SPI_CONF::SPI_MODE3

SPI MODE 3 に設定する

初期化と終了

SPIバスの利用手続きはbegin()メソッドによります。

begin()

void begin(uint8_t slave_select, SPISettings settings)
SPISettings(uint32_t clock, uint8_t bitOrder, uint8_t dataMode)

ハードウェアの初期化を行います。

スリープ復帰後にも本処理が必須です。

パラメータ
解説

slave_select

使用するSPIスレーブのセレクトピンを指定する。0 : DIO19``1 : DIO0 (DIO 19 は予約されます)``2 : DIO1 (DIO 0,19 は予約されます)

settings

SPIのバス設定を指定します。 clock[hz]でSPIバスの周波数を指定します。指定した周波数に近いディバイザが選択されます。16Mhzまたは16Mhzを偶数で割った値になります。 bitOrderSPI_CONF::MSBFIRSTSPI_CONF::LSBFIRSTを指定します。 dataModeSPI_CONF::SPIMODE0..3を指定します。

void setup() {
  ...
  SPI.begin(0, SPISettings(2000000, SPI_CONF::MSBFIRST, SPI_CONF::SPI_MODE3));
  ...
}

void wakeip() {
  ...
  SPI.begin(0, SPISettings(2000000, SPI_CONF::MSBFIRST, SPI_CONF::SPI_MODE3));
  ...
}

end()

void end()

SPIのハードウェアの利用を終了します。

読み書き

読み書きの手続きは、以下の2種類あります。いずれかを選択して利用します。

最終更新