Comments
Description
Transcript
シリアル・ポートを使った プログラミング
7 第 章 Hello World !を出力しよう シリアル・ポートを使った プログラミング 本稿では,付属マイコン基板に搭載されているシリアル・ポートを使って送受信プログラムを作成する.組み 込み機器にはディスプレイやキーボードなどといった入出力装置が付いていないことも多い.そのような機器の 開発においても,シリアル・ポートはほとんどのマイコンに標準で搭載されており,手軽に使える.単なる通信 手段としてだけでなく,プログラムの printf デバッグにも使えるという「最後の命綱」的な役割を持つインター フェースでもある(編集部) 浅沼 重保 われています.このように RS-232-C は代表的なシリアル・ 1 シリアル・ポートは 今でも使われている インターフェースであることから, 「シリアル・ポート」 (ま たは単に「シリアル」 )と言えば,多くの場合は RS-232-C の ことを指します. ● シリアル・ポートとは何か RS-232-C は EIA(米国電子工業会)で標準化された規格で, シリアル・ポートは,マイコンをパソコンとつないで手 EIA-232 と呼ばれることもあります.RS-232-C で送受信す 軽にやりとりするのに適したインターフェースです.「シ る回路のことを UART(Universal Asynchronous Receiver リアル・ポート」とは,広義には 1 本の信号線で 1 ビット Transmitter :汎用非同期送受信回路)といいます. ずつ直列にデータを伝送するシリアル転送方式を採用した ● シリアル・ポートの規格 周辺機器との接続口のことをいいます. RS-232-C のケーブルにはストレート・ケーブルとクロ シリアル転送の規格の一つである RS-232-C は,最近で ス・ケーブル(リバース・ケーブル)という 2 種類がありま は USB などに取って代わられ, 「レガシ(遺物となった)イ す.周辺機器との接続に使うのがストレート・ケーブル ンターフェース」と呼ばれるようになってきています.し で,パソコン同士の通信に使うのがクロス・ケーブルです. かし,長い間パソコンとプリンタや,モデムなどの周辺機 実際のシリアル・ポートの形状は,写真 1 や写真 2 のよ 器の接続に使われてきた実績から,組み込み機器ではデ うなものになります.最近は 9 ピンのシリアル・ポートが バッグのための標準的なインターフェースとして今でも使 一般的です. 写真 1 RS-232-C ケーブル(メス) 写真 2 RS-232-C ケーブル(オス) 122 KEYWORD ―― シリアル・ポート,RS-232-C,送受信プログラム,ボー・レート,ハイパーターミナル May 2007 第 7章 シリアル・ポートを使ったプログラミング 図1 シリアル通信のデータ形式 TXDAn スタート・ ビット D0 D1 D2 D3 D4 D5 D6 D7 パリティ・ ストップ・ ビット ビット 内部バス INTUAnT INTUAn R 1 受信ユニット UAn RX 送信ユニット 2 UAn RX 3 受信シフト・ レジスタ フィルタ 送信シフト・ レジスタ 送信 コントロール回路 受信 コントロール回路 5 ボー・レート・ ジェネレータ ボー・レート・ ジェネレータ TXDAn セレクタ RXDAn セレクタ fxx-fxx/210 ASCKA0*1 *1 セク レロ クッ タク ・ 4 7 8 UAn CTL1 UAn CTL2 UAn CTL0 UAn STR UAn OTP0 n=0∼2 UARTA0のみ 内部バス 図 2 V850ES/JG2 の UARTA のブロック図 ● シリアル通信のデータ形式 RS-232-C で使う調歩同期式シリアル通信のデータ形式 を図 1 に示します.シリアル転送を行うには,下記のよう なパラメータを設定する必要があります. ¡ボー・レート―― データの転送レート.通信を行うに は,送受信機器のボー・レートを一致させておく必要 ます. V850ES/JG2 が内蔵する UARTAn(n=0 ∼ 2)の特徴は 以下の通りです. ¡転送速度 300bps ∼ 312.5kbps 内部システム・クロック 20MHz,専用ボー・レー ト・ジェネレータ使用 ¡全二重通信 UARTAn 受信データ・レジスタ(UAnRX) がある ¡キャラクタ長 ―― 送受信データ長.1 フレームで 7 ビットもしくは 8 ビットを送ることができる ¡パリティ ―― データの誤りを検出するためのビット 内蔵 ¡UARTAn 送信データ・レジスタ(UAnTX)内蔵 ¡2 端子構成 で,パリティなし,もしくは奇数パリティ,偶数パリ TXDAn :送信データの出力端子 ティを選択できる RXDAn :受信データの入力端子 ¡ストップ・ビット―― フレームの終わりを示すビット で,1 ビットか 2 ビットを選択する ¡フロー制御 ―― フロー制御を有効にすると,受信機器 側が処理能力を超えたときに,送信側へ送信を中断し てほしいというような制御ができる ¡受信エラー検出機能 パリティ・エラー フレーミング・エラー オーバラン・エラー ¡キャラクタ長: 7,8 ビット 図 2 は,V850ES/JG2 内蔵の UARTA のブロック図で ¡パリティ機能:奇数,偶数,0,なし す.V850ES/JG2 には UARTA が 3 チャネル内蔵されてい ¡送信ストップ・ビット: 1,2 ビット May 2007 6 123