SPx_TX

SPx_TX ( SPORTx Transmit Data )レジスタは、シリアルポートの送信データを書き込むためのレジスタです。常に読み書き可能ですが、読み込みに意味はありません。

SPORTが3系統あるため、SP0_TX、SP1_TX、SP2_TXの三本が用意されています。

レジスタの構造

このレジスタは16ビットの整数レジスタです。リセット後は0に初期化されます。

SPORTがイネーブルの状態でこのレジスタにデータを書き込むと、SPORTが送信可能な状態になります。このとき、送信シフトレジスタが空であれば自動的にSPx_TXのデータがシフトレジスタにコピーされ、送信割り込みが発生します。送信割り込みはDMA使用時には発生しません。

このレジスタはDMA転送時には使用しません。

API

C/C++言語用に以下のインターフェースが用意されています。宣言はsysreg.hで行われています。SPx_TXにアクセスする前には必ずIOPGにSPORTx_Control_Pageを設定してください。SPORTはポートごとにIOページが異なりますので注意が必要です。

SPORT0の場合は以下のとおりです。

// #include <sysreg.h>
// #include <def2191.h>

sysreg_write(sysreg_IOPG, SPORT0_Controller_Page)   // SPORT0ページに設定

io_space_write(SP0_TX, 値)         // SP0_TXに値を設定
変数 = io_space_read(SP0_TX)       // SP0_TXの値を取得

SPORT1の場合は以下のとおりです。

// #include <sysreg.h>
// #include <def2191.h>

sysreg_write(sysreg_IOPG, SPORT1_Controller_Page)   // SPORT1ページに設定

io_space_write(SP1_TX, 値)         // SP1_TXに値を設定
変数 = io_space_read(SP1_TX)       // SP1_TXの値を取得

SPORT2の場合は以下のとおりです。

// #include <sysreg.h>
// #include <def2191.h>

sysreg_write(sysreg_IOPG, SPORT2_Controller_Page)   // SPORT2ページに設定

io_space_write(SP2_TX, 値)         // SP2_TXに値を設定
変数 = io_space_read(SP2_TX)       // SP2_TXの値を取得

参照情報

項目 マニュアルのページ等
レジスタ説明 HR B-34

2191空挺団 | プログラム | EZ-KIT | こぼれ話 | アーキテクチャー | 命令 | レジスタ | DSP掲示板 | FAQ |