スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

RX220 シリアル通信の隠し受信ビット

新しいマイコンを導入したら真っ先に開通させたいのがPCとのシリアル通信だ.
AKI-RX220には合計5CHものSCI(UART)が付いているのだが,難点がひとつ.
受信レジスタ(RDR)にデータが入ったのを知るためのステータスビットが存在しないのである.
このため受信データは割り込みで取得する必要がある.
しかし,動作確認の段階でイチイチ割り込みの仕様を調べてそれ用のコードを書くのは抵抗がある.
とにかくPCのターミナルソフトで何かキーを押して,ソフトウェアポーリングでサクッと読みたい.

そんなときはSSRレジスタのB6を読もう.

ここがなぜか受信完了フラグビットとして機能するのである.
RX220のハードウェアマニュアルには「予約ビット:読んだ場合,その値は不定」と書いてある.
これはもしかしたら古いSCIのSSRのレジスタ仕様がそのまま残っているからかもしれない.
ただし,ビットフィールドのメンバ変数がiodefine.hに定義されてないので,

while((SCI1.SSR.BYTE&0x40)==0){} //受信フラグがが1にセットされるのを待つ
data = SCI1.RDR; //データを読み出す

のような記述でポーリングする必要がある.


スポンサーサイト

この記事へのコメント

承認待ちコメント - - 2016年07月15日 22:31:44

このコメントは管理者の承認待ちです

トラックバック

URL :

プロフィール

もやね

Author:もやね
長野県在住の会社員(メカニカル・エンジニア).
ロボットは完全な趣味としてやってます.
E-mail:
mo_ya_ne[a]yahoo.co.jp
[a]⇒@

最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
FC2カウンター
ブログ内検索
RSSフィード
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。