USBシリアル変換モジュールを使う - フタなしカンヅメ
フタなしカンヅメ
徒然なるままに @happytar0
この広告は、90日以上更新していないブログに表示しています。
2013-07-17
USBシリアル変換モジュールを使う
電子工作
またもや電子工作をサボってしまった…。
プライベートもプログラミングをバリバリやってる人はすごいと思う。
この間マイコン先生から電子工作用の部品を色々いただいた。
ジャンパー線やLCDなど便利なものばかり…感謝感謝。
どうやら半年くらいご無沙汰だったみたいだ。
今回さわったシリアル変換モジュールなどの部品は、実は正月に買っておいた。
ケースやら基盤なども買い込んだので、早いところ温度計を完成させてもいいのだけど、リハビリも兼ねてシリアル通信をやってみることにした。
USBシリアル変換モジュールをマイコンに接続
購入したシリアル変換モジュールは、秋月電子で売っていたもので、FT232RLというUSB-シリアル変換用のICが基盤にくっついるものだ。
接続は簡単で、バスパワーでUSBから電源を確保できるので、GND、TXDとRXDをマイコンと接続するだけで大丈夫らしい。
マイコンはATTINY2313を使用した。
TXDとRXD
変換モジュールに付属されていた説明書にも記載されているのだけど、TXDは「通信データ出力」、RXD「通信データ入力」ということらしい。
これをマイコン側のTXDとRXDにクロスして接続する。最初にクロスで接続することに気づかず焦った。
要は、変換モジュールのTXDをマイコンのRXDに、変換モジュールのRXDをマイコンのTXDに接続する。
変換モジュールとPCを接続
ドライバが必要なようだったので、下記のサイトからダウンロードした。MacBookAirを使っていたので、OSX版をインストールした。
Virtual COM Port Drivers
screenでシリアル通信も出来るようだったのだけど、他に使いやすいものがないか探したところ、CoolTermというアプリを発見した。とりあえず、こいつで行くことにした。
Roger Meier's Freeware
USART（UART）
詳しい説明はググれば出てくるのでざっくり説明すると、
1本の信号線上の信号をプロトコルに従い「1」、「0」でデータを送る通信方法。
全二重の非同期通信、半二重の同期通信の二通りがあるようだ。
ボーレート
変復調速度のことでマイコンのクロック数によって設定する値が変わる。マイコンのデータシートに一覧が載っているので、クロック数と通信速度から適切なものを選べばいい。
一般的な通信速度9600bpsで通信することにした。
マイコンのクロック数は8MHzなので、設定するボーレートは51となった。
シリアル通信してみる
よく使われている設定でシリアル通信をおこなうことにした。
設定内容は、非同期通信、パリティ禁止、停止ビット1bit、データビット長8ビット。
まずは初期化処理のコードは下記のようにした。
UBRRL = 51; // 9600bps
UCSRB= (1 << RXEN) | (1 << TXEN);
UCSRC = (1 << UCSZ1) | (1 << UCSZ0);
UBRRLレジスタにボーレート値を入れる。
UCSRBレジスタで、RXENとTXENのビットを立てる。RXENが「受信許可」、TXENが「送信許可」になる。
UCSRCレジスタは、UCSZ1とUCSZ0が「データビット長」になる。
8ビットの場合は、「011」になるので、UCSZ1とUCSZ0の両方のビットを立てればOKだ。
本当は、UCSZ2もあるのだけど、これはUCSRBレジスタのほうに入っている…紛らわしい。今回は8ビットなので特に設定する必要はない。
コードは、ググればたくさん出てくるし、データシートにも書いてあるので特に迷うことはなかった。
とりあえず、シリアル通信の送受信を実装し、ターミナルから送信した文字列をそのままエコーバックさせるコードを書いてみた。
コードはこちら
pontago/avr-SirialTest · GitHub
参考サイト
有効なWikiNameではありません - AVR・ARM等々 覚え書き
エラー - henteko.org
電子工作の知恵袋 ＞ 通信規格 ＞ ＵＡＲＴ その１ 基本
happytar0 2013-07-17 00:34
USBシリアル変換モジュールを使う
Tweet
広告を非表示にする
関連記事
2013-02-04
温度センサーとA/D変換
7セグも使うことが出来たので、次は温度センサーを使っていくこ…
2012-07-17
AVRでLEDを点滅させるプログラム
前回の記事で無事にマイコンを経由してLEDを点灯させる事ができ…
もっと読む
コメントを書く
« トランジスタアレイを使う CoreDataのFetchRequestテンプレートで配… »
プロフィール
id:happytar0
読者です 読者をやめる 読者になる 読者になる
検索
リンク
はてなブログ
ブログをはじめる
週刊はてなブログ
はてなブログPro
最新記事
類似画像を検索する方法を調べみた その1
激ニコぷんぷん丸のソースコード公開
iOS7対応
PHPからCOMを使う
タクトスイッチを使う
月別アーカイブ
はてなブログをはじめよう！
happytar0さんは、はてなブログを使っています。あなたもはてなブログをはじめてみませんか？
はてなブログをはじめる（無料）
はてなブログとは
フタなしカンヅメ
Powered by Hatena Blog | ブログを報告する
スターをつけました
引用をストックしました
ストック一覧を見る
閉じる
引用するにはまずログインしてください
ログイン
閉じる
引用をストックできませんでした。再度お試しください
閉じる
限定公開記事のため引用できません。
読者です 読者をやめる 読者になる 読者になる
