RXduino  1.20a
RXduinoマニュアル 最終更新日 平成26年6月29日
spi.h
説明を見る。
1 /*******************************************************************************
2 * RXduinoライブラリ & 特電HAL
3 *
4 * このソフトウェアは特殊電子回路株式会社によって開発されたものです。
5 * 当社Webサイトを通じてダウンロードすることによって使用許諾されます。
6 * このファイルを第三者へ開示・再配布・貸与・譲渡することはできません。
7 * このソフトウェアはあるがままの状態で提供され、内容および動作についての保障はあ
8 * りません。弊社はファイルの内容および実行結果についていかなる責任も負いません。
9 * お客様は、お客様の製品開発のために当ソフトウェアのソースコードを自由に参照し、
10 * 引用していただくことができます。
11 * コンパイル・リンク後のオブジェクトファイル(ELF ファイルまたはMOT,SRECファイル)
12 * であって、デバッグ情報が削除されている場合は第三者に再配布することができます。
13 * (C) Copyright 2011-2014 TokushuDenshiKairo Inc. 特殊電子回路株式会社
14 * http://rx.tokudenkairo.co.jp/
15 *******************************************************************************/
16 
17 #ifndef __H_RXDUINO_SPI
18 #define __H_RXDUINO_SPI
19 /**************************************************************************/
26 #include "rxduino.h"
27 
28 #ifdef __cplusplus
29  extern "C" {
30 #endif
31 
32 //------------------------------------------------------------------
33 // SPIポート
34 //------------------------------------------------------------------
35 //typedef enum {SPI_PORT_NONE, SPI_PORT_CS0_DUINO, SPI_PORT_CS1_MARY1, SPI_PORT_CS2_MARY2, SPI_PORT_CS3_ROM, SPI_PORT_SDMMC} SPI_PORT;
36 //typedef enum {LSBFIRST, MSBFIRST} SPI_BIT_ORDER;
37 //typedef enum {SPI_CLOCK_DIV2, SPI_CLOCK_DIV4, SPI_CLOCK_DIV8, SPI_CLOCK_DIV16,
38 // SPI_CLOCK_DIV32, SPI_CLOCK_DIV64, SPI_CLOCK_DIV128 } SPI_CLK_DIVIDER;
39 //typedef enum {SPI_MODE0 , SPI_MODE1 , SPI_MODE2 , SPI_MODE3 } SPI_DATA_MODE;
40 
41 #define LSBFIRST SPI_LSBFIRST
42 #define MSBFIRST SPI_MSBFIRST
43 
44 /*********************************************************************/
52 class CSPI {
53 private:
54  int bitOrder;
55  SPI_CLK_DIVIDER divider;
56  SPI_DATA_MODE dataMode;
57 
58 public:
60  ~CSPI();
61 
62 /*********************************************************************/
66 
67 /*********************************************************************/
74  void begin(void) ;
75 
76 /*********************************************************************/
80  void end(void) ;
81 
82 /*********************************************************************/
89  void setBitLength(int bitLength);
90 
91 /*********************************************************************/
99  void setBitOrder(int bitOrder) ;
100 
101 /*********************************************************************/
115  void setClockDivider(SPI_CLK_DIVIDER divider);
116 
117 /*********************************************************************/
128  void setDataMode(SPI_DATA_MODE mode);
129 
130 /*********************************************************************/
136  unsigned long transfer(unsigned long txdata) ;
137 };
138 
139 extern CSPI SPI;
140 
141 #ifdef __cplusplus
142  }
143 #endif
144 
145 #endif // __H_RXDUINO_SPI
146 
void setClockDivider(SPI_CLK_DIVIDER divider)
SPIクロックの速度(PCLKに対する分周比)の設定
void setDataMode(SPI_DATA_MODE mode)
SPIのデータモードを指定する
unsigned long transfer(unsigned long txdata)
SPIのデータを送受信する
SPI_PORT port
ポート番号を変える場合はここを変える
Definition: spi.h:65
void setBitOrder(int bitOrder)
送受信するビットオーダーを指定する
void setBitLength(int bitLength)
送受信するビット長の指定
Arduino互換のSPIクラス RXマイコン内蔵のRSPIモジュールを使いやすくする
Definition: spi.h:52
Renesas RX62N/63N用のArduino互換ライブラリ
void begin(void)
内蔵SPIモジュールを初期化し、使用できるようにする。
SPI_PORT
SCIポートのCSが出力される場所
Definition: tkdn_spi.h:37
SPI_CLK_DIVIDER
SPIクロックの速度
Definition: tkdn_spi.h:59
SPI_DATA_MODE
SPIモード
Definition: tkdn_spi.h:70
void end(void)
SPIをクローズし、割り当てられたピンを汎用I/Oポートに戻す