RDBRx( Rx Data Buffer Register )はSerial Peripheral Interfaceの受信データを格納します。
SPIが2系統あるため、RDBR0, RDBR1の2本が用意されています。
このレジスタは16ビット整数レジスタです。初期値は0x0000です。
シフトレジスタに入ってきたデータは受信が完了するとRDBRxにロードされます。データがロードされるとRDBRxは空でなくなり、データをソフトウェアかDMAで読むと再び空になります。
RDBRxが空になる前に次のデータを受信するとオーバーフローエラーが発生します。詳しくはSPISTxを参照してください。
このレジスタは読み出し専用です。
C/C++言語用に以下のインターフェースが用意されています。宣言はsysreg.hで行われています。RDBRxにアクセスする前には必ずIOPGにSPIx_Controller_Pageを設定してください。
RDBR0の場合は以下のとおりです。
// #include <sysreg.h> // #include <def2191.h> sysreg_write(sysreg_IOPG, SPI0_Controller_Page) // SPI0ページに設定 変数 = io_space_read(RDBR0) // RDBR0の値を取得
RDBR1の場合は以下のとおりです。
// #include <sysreg.h> // #include <def2191.h> sysreg_write(sysreg_IOPG, SPI1_Controller_Page) // SPI1ページに設定 変数 = io_space_read(RDBR1) // RDBR1の値を取得
項目 | マニュアルのページ等 |
---|---|
説明 | HR B-59 |