前へ | 目次 | 次へ |
調歩同期式シリアルデータ「送信」関数 | |
SCI3(シリアルコミュニケーションインタフェース)の初期化ができたので、 データを送信するプログラムを考えてみましょう。 今回も、BestTechnologyの、 GCC Developer Liteに付属する sci.cの関数を利用することにします。
| |
1文字送信関数 rs_putc | |
while (SCI3.SSR.BIT.TDRE == 0) ; SCI3(シリアルコミュニケーションインタフェース)の初期化のところで説明したように、 シリアルステータスレジスタ(SSR)のTDREは、 値が0のときはトランスミットデータレジスタ(送信用のレジスタ)が利用不可であることを意味しています。 したがって、 SCI3.SSR.BIT.TDRE == 0 はトランスミットデータレジスタが利用不可の場合ということを意味しています。 この行は、トランスミットデータレジスタが利用不可の間は、 何もしないというプログラムになっています。 SCI3.TDR = c トランスミットデータレジスタ(TDR)は、 送信データを格納するための8ビット(1バイト)のレジスタです。 変数cの値は、1文字送信関数 rs_putcを呼び出す際に与えますから、 この1バイトデータをトランスミットデータレジスタに格納する、 つまり送信することになります。 | |
文字列送信関数 rs_puts | |
rs_puts (char *st) ああっ、ポインタ出てきちゃいましたね。 とりあえず、この関数を呼び出すときには、文字列を""で囲んで渡すか、 文字列をchar型の配列に入れて(配列の最後に0またはナル文字'\0'を入れる)配列名を渡すようにすれば良いかと思います。 while (*st) rs_putc (*st++) これも、ちゃんと説明しようとすると長くなってしまいますね。 0またはナル文字'\0'になるまで、 渡された文字列を1文字ずつrs_putcで表示します・・・てなことで(@@)/ | |
2003/05/23(Fri) | |
AKI-H8/3664 QFP版のトップページへ | |
トップページへ |
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||