Arduinoで遊ぶページ

Arduinoで遊んだ結果を残すページです。
garretlab
SPIClass::setBitOrder()

SPIClass::setBitOrder()

概要

SPIClass::setBitOrder()は、データを送信する際のビットオーダを設定します。リファレンスはこちら

SPI関連のレジスタの説明はこちら

ソースコード

SPIClass::setBitOrder()は、libraries/SPI/SPI.cppに定義されています。以下に全ソースコードを示します。

void SPIClass::setBitOrder(uint8_t bitOrder)
{
  if(bitOrder == LSBFIRST) {
    SPCR |= _BV(DORD);
  } else {
    SPCR &= ~(_BV(DORD));
  }
}

引数に従って、SPCRレジスタを操作します。

void SPIClass::setBitOrder(uint8_t bitOrder)
{

入力はbitOrderで、LSBFIRSTかMSBFIRSTです。これらのマクロは、hardware/arduino/cores/arduino/Arduino.hに定義されています。

  if(bitOrder == LSBFIRST) {
    SPCR |= _BV(DORD);

引数がLSBFIRSTであれば、SPCRレジスタのDORDビットを1に設定します。_BV()は、指定したビット数だけ1を左にシフトするマクロです。

  } else {
    SPCR &= ~(_BV(DORD));
  }
}

引数がLSBFIRST以外のときは、SPCRレジスタのDORDビットを0に設定します。

バージョン

Arduino 1.0.1



メニューを表示するためにJavaScriptを有効にしてください。

Arduinoで遊ぶページ
Copyright © 2012 garretlab all rights reserved.
inserted by FC2 system