RXduino  1.20a
RXduinoマニュアル 最終更新日 平成26年6月29日
Public メソッド | Public 変数 | すべてのメンバ一覧
クラス CSPI

Arduino互換のSPIクラス RXマイコン内蔵のRSPIモジュールを使いやすくする [詳細]

#include <spi.h>

Public メソッド

void begin (void)
 内蔵SPIモジュールを初期化し、使用できるようにする。 [詳細]
 
void end (void)
 SPIをクローズし、割り当てられたピンを汎用I/Oポートに戻す [詳細]
 
void setBitLength (int bitLength)
 送受信するビット長の指定 [詳細]
 
void setBitOrder (int bitOrder)
 送受信するビットオーダーを指定する [詳細]
 
void setClockDivider (SPI_CLK_DIVIDER divider)
 SPIクロックの速度(PCLKに対する分周比)の設定 [詳細]
 
void setDataMode (SPI_DATA_MODE mode)
 SPIのデータモードを指定する [詳細]
 
unsigned long transfer (unsigned long txdata)
 SPIのデータを送受信する [詳細]
 

Public 変数

SPI_PORT port
 ポート番号を変える場合はここを変える
 

説明

Arduino互換のSPIクラス RXマイコン内蔵のRSPIモジュールを使いやすくする

覚え書き
実体は tkdn_spi.h をC++でカプセル化するものである。
警告
このクラスのインスタンスはライブラリをインポートすると自動的に生成され、グローバルインスタンスSPIが使用できるようになる。
ユーザアプリケーションでコンストラクタを呼び出してインスタンスを生成したり、
デフォルトで存在するインスタンスをデストラクトしてはならない。

spi.h52 行で定義されています。

関数

void CSPI::begin ( void  )

内蔵SPIモジュールを初期化し、使用できるようにする。

覚え書き
使用されるピンはボードごとにあらかじめ決められている。
SPIの各種関数はこの関数を呼び出した後で呼び出さないと効果を持たない。
警告
SDMMC ライブラリと一緒に使うときには、SDMMC::begin() よりも先に呼び出さなければならない
戻り値
なし
void CSPI::end ( void  )

SPIをクローズし、割り当てられたピンを汎用I/Oポートに戻す

戻り値
なし
void CSPI::setBitLength ( int  bitLength)

送受信するビット長の指定

引数
bitLength1回の transfer() で送受信するデータのビット長。 設定可能な値は8~16,20,24,32。これ以外の値を設定したときの動作は保証されない。
覚え書き
この関数を呼び出す前はデフォルトで8bitになっている。
戻り値
なし
void CSPI::setBitOrder ( int  bitOrder)

送受信するビットオーダーを指定する

引数
bitOrder設定可能な値
  • MSBFIRST : MSB(ビット番号の大きい方)から先に送る
  • LSBFIRST : LSB(ビット番号の小さい方)から先に送る
覚え書き
この関数を呼び出す前はデフォルトでMSBFIRSTになっている。
戻り値
なし
void CSPI::setClockDivider ( SPI_CLK_DIVIDER  divider)

SPIクロックの速度(PCLKに対する分周比)の設定

引数
divider次の値のいずれかを指定する
  • SPI_CLOCK_DIV2 : PCLK/2 (24MHz)
  • SPI_CLOCK_DIV4 : PCLK/4 (12MHz)
  • SPI_CLOCK_DIV8 : PCLK/8 (6MHz)
  • SPI_CLOCK_DIV16 : PCLK/16 (3MHz)
  • SPI_CLOCK_DIV32 : PCLK/32 (1.5MHz)
  • SPI_CLOCK_DIV64 : PCLK/64 (750kHz)
  • SPI_CLOCK_DIV128 : PCLK/128 (375kHz) これ以外の値を指定しないこと
覚え書き
デフォルトの分周比は不明
戻り値
なし
void CSPI::setDataMode ( SPI_DATA_MODE  mode)

SPIのデータモードを指定する

引数
modeデータモード
  • SPI_MODE0 アイドル時のクロックがL、立ち上がりでサンプリング(基本)
  • SPI_MODE1 アイドル時のクロックがL、立ち下がりでサンプリング
  • SPI_MODE2 アイドル時のクロックがH、立ち上がりでサンプリング
  • SPI_MODE3 アイドル時のクロックがH、立ち下がりでサンプリング
覚え書き
デフォルトのモードは0
警告
モード2とモード3に設定したときには、SDMMCが使えなくなる
戻り値
なし
unsigned long CSPI::transfer ( unsigned long  txdata)

SPIのデータを送受信する

引数
txdata8~32bitのデータ。リトルエンディアン。実際に送信される長さは setBitLength() で指定する。
覚え書き
Arduinoでは8bitまでだったが、RXduinoでは32bitまで対応している
戻り値
受信したデータ