C - U-netSURF

C - U-netSURF C - U-netSURF

www2.u.netsurf.ne.jp
from www2.u.netsurf.ne.jp More from this publisher
24.01.2015 Views

調 歩 同 期曋 式 シリアル 通 信 1 ビットずつ 送 受 信 するわけですが, 問 題 になるのは 今 受 信 しているデータが 何 ビット 目 なんだ ろう,ということです。これが 伝 わらないとまったくちがうデータになってしまいます。いろいろな 方 法沵 が 考 えられているのですが,その 中 でもっとも 基 本曓 的 な 調 歩 同 期曋 式 という 方 法沵 を 調 べてみましょう。 次 の 図 をご 覧 下 さい。これが 調 歩 同 期曋 式 シリアル 通 信 のフォーマットになります。 かぎとなるのは,1 ビットの 時昷 間 が 決 まっていることと, 信 号 線 は 通 常 は High(5V)で,スタートビットで 必 ず Low(0V)になるということです。ハ イパーH8 の 設 定 をしたとき COM1 の プロパティを 設 定 しました。ちょっと 思 い 出 してみましょう。( 右 図 参 照 ) ‘ビット/ 秒 ’というのがありますが, これは 別 の 言 葉 でボーレート( 単 位 : bps,bit/s,またはボー)といいます。 上 の 式 に 当 てはめると,1 ビットの 時昷 間 は 約 26μ 秒 となります。シリアルポ ートをずっと 見 ていて,High か ら Low になったらスタートビットが 始 ま ったと 判 断 します。そこから 26μ 秒 た ったら bit0 が 始 まります。あとはその 繰 り 返 しですべてのビットを 受 け 取 る ことができます。ストップビットは 必 ず High なので, 次 のデータのスタートビットを 見 つける 準 備 ができています。うまくできている 思 いませ んか。 81 TK-3687mini ユーザーズマニュアル C 言 語 版

シリアルコミュニケーションインターフェース 3 調 歩 同 期曋 式 シリアル 通 信 の 考 え 方 はわかったと 思 いますが,これを I/O ポートとプログラムだけ で 作 るのは 結 構 たいへんです。ちょっとでもタイミングがずれると,ちゃんとデータを 受 け 取 ることがで きません。 大 変 なことは 専 用 のパーツにおまかせしましょう,というのがスマートな 方 法沵 です。H8/3687 には シリアル 通 信 用 の I/O が 内 蔵 されています。「シリアルコミュニケーションインタフェース 3(SCI3)」と 呼 ばれています。SCI3 は 調 歩 同 期曋 式 シリアル 通 信 以 外 にも 対 応 できるように 作 られています。 詳 しくは, 「H8/3687 グループ ハードウェアマニュアル」( 以 降 ハードウェアマニュアル)の 16-1 ページから 説 明 されていますので,ぜひお 読 みください。I/O ポートにくらべると SCI3 の 使 い 方 は 最暷 初 は 難 しく 感 じる のですが,わかってしまうとそれほどでもありません。しかも I/O の 使 い 方 の 基 本曓 が 含 まれているので, SCI3 の 使 い 方 がわかると 他 の I/O の 使 い 方 , 例 えば I 2 C バスインタフェース 2(IIC2)を 理 解 するのも それほどたいへんではなくなります。ここは 一 つがんばってみてください。 ハイパーターミナルから 送 られてくるデータを 見 てみよう SCI3 を 使 ったプログラム 例 を 考 えてみましょう。 ハイパーH8 はハイパーターミナルを 使 っていますね。パソコンのキーボードからキーを 入 力 する と,いろいろと 表 示 されます。よく 考 えると 不 思 議 ですよね。 パソコンのキーボードで 入 力 すると,TK-3687mini にどんなデータが 送 られているのでしょうか。 答 えを 言 うようですが,それぞれのキーに 割 付 けられた 数 字 が 送 られてきます。というわけで,どんな 数 字 が 送 られてきたか,それを 返 信 してハイパーターミナルに 表 示 するプログラムを 作 ってみましょ う。 2パソコン→TK-3687mini 例 :30h : 1キーボード 入 力 例 :‘0’ 3TK-3687mini→パソコン 例 :「30」と 表 示 させる とりあえず 動 かしてみたい 方 は,CD-ROM から ‘sci3_key_code_c.mot’ をダウンロードして 実 行 して 下 さい。パソコンのキーを 押 すとハイパーターミナルに 数 字 が 表 示 される はずです。 82 TK-3687mini ユーザーズマニュアル C 言 語 版

調 歩 同 期曋 式 シリアル 通 信<br />

1 ビットずつ 送 受 信 するわけですが, 問 題 になるのは 今 受 信 しているデータが 何 ビット 目 なんだ<br />

ろう,ということです。これが 伝 わらないとまったくちがうデータになってしまいます。いろいろな 方 法沵 が<br />

考 えられているのですが,その 中 でもっとも 基 本曓 的 な 調 歩 同 期曋 式 という 方 法沵 を 調 べてみましょう。<br />

次 の 図 をご 覧 下 さい。これが 調 歩 同 期曋 式 シリアル 通 信 のフォーマットになります。<br />

かぎとなるのは,1 ビットの 時昷 間<br />

が 決 まっていることと, 信 号 線 は 通 常<br />

は High(5V)で,スタートビットで 必<br />

ず Low(0V)になるということです。ハ<br />

イパーH8 の 設 定 をしたとき COM1 の<br />

プロパティを 設 定 しました。ちょっと<br />

思 い 出 してみましょう。( 右 図 参 照 )<br />

‘ビット/ 秒 ’というのがありますが,<br />

これは 別 の 言 葉 でボーレート( 単 位 :<br />

bps,bit/s,またはボー)といいます。<br />

上 の 式 に 当 てはめると,1 ビットの 時昷<br />

間 は 約 26μ 秒 となります。シリアルポ<br />

ートをずっと 見 ていて,High か ら<br />

Low になったらスタートビットが 始 ま<br />

ったと 判 断 します。そこから 26μ 秒 た<br />

ったら bit0 が 始 まります。あとはその<br />

繰 り 返 しですべてのビットを 受 け 取 る<br />

ことができます。ストップビットは 必 ず<br />

High なので, 次 のデータのスタートビットを 見 つける 準 備 ができています。うまくできている 思 いませ<br />

んか。<br />

81<br />

TK-3687mini ユーザーズマニュアル C 言 語 版

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!