| 前へ | 目次 | 次へ |
| 調歩同期式シリアルデータ「受信」関数 | |
|
SCI3(シリアルコミュニケーションインタフェース)で、 データを受信するプログラムを考えてみましょう。 今回も、BestTechnologyの、 GCC Developer Liteに付属する sci.cの関数を利用することにします。
| |
| 1文字受信関数 rs_getc | |
|
while (!((SCI3.SSR.BYTE & 0x78) != 0)) ; SCI3(シリアルコミュニケーションインタフェース)の初期化のところで説明したように、 シリアルステータスレジスタ(SSR)は、 送受信やエラーの状態を格納しています。。 ここでは、 SCI3.SSR.BYTE & 0x78 は、受信用のレジスタとエラーの状態を抜き出していることになります。。 この行は、、受信用のレジスタが利用不可であったり、エラーが発生している場合には、 何もしないというプログラムになっています。 SCI3.SSR.BIT.RDRF == 1; レシーブデータレジスタにデータが書き込まれると、 RDRFが1になるので、この場合にはレシーブデータレジスタから値を読み取ることができます。 c = SCI3.RDR; char型の変数cに、レシーブデータレジスタの値を代入しています。 SCI3.SSR.BIT.RDRF = 0; レシーブデータレジスタにデータが書き込めるように、 SCI3.SSR.BIT.RDRFを1に設定します。 SCI3.SSR.BYTE &= 0x80; レシーブデータレジスタにデータが書き込まれていない場合には、 TDRE以外を0に設定します。 c = 0; ここでは、返り値が0の時にはエラーということにしているようです。 | |
| やってみよう | |
| |
| 2003/11/11(Tue) | |
| AKI-H8/3664 QFP版のトップページへ | |
| トップページへ |
| 広告 | [PR] 花 転職支援 ヒートテック わけあり商品 | 無料レンタルサーバー ブログ blog | |