前回、送ったデータをそのまま送り返すシリアル通信を行いました。今回は、シリアル通信を使って発光ダイオードの点灯と消灯を制御します。
基本的な部分は前回を参照してください。回路の違いは発光ダイオードがついているかどうか、プログラムの違いは受信したデータにより発光ダイオードの点灯・消灯を行う、受信したデータを送信しない、以上の3か所です。
1.今回使用するPICについて
今回使用するPICは「PIC12F1822」です。
2.回路
シリアル通信で使用するピンについて
RA4:TxD(送信)
RA5:RxD(受信)
(PICのRxDとコンピュータのTxDとつなげます)
発光ダイオードに接続しているピンについて
RA2:発光ダイオード
パソコンとつなげているシリアル通信の機器は「AE-UM232RL」です。
(参考までに販売サイト紹介:秋月電子通商:AE-UM232RL製品サイト)
3.プログラム
受信したデータが「0x31」と等しければ点灯、違う場合、消灯させます。ちなみに「0x31」とはASCII(ウィキペディア)で数字の1のことです。
if( rx_flg ) { // 受け取ったデータを比較 if( rx_data == 0x31 ) { RA2 = 1; } else { RA2 = 0; } rx_flg = false; }
ソースコード
プログラムの全文を掲載します。
<注意>
本サイトの注意事項を確認してください。
ソースコードや回路図などを使用する場合、上記注意とともに、自己責任でお願いします。
3.動作確認
PCとPICを接続し、PCからシリアル通信でデータを送ってください。数字の1(0x31)を送信すると点灯、それ以外を送信すると消灯します。
注:PCでシリアル通信を行う場合、シリアルポートとシリアル通信を行うソフトが必要になります。
(参考ソフト:Tera Term)
<更新履歴>
新規作成:2015年4月12日
第2版:2016年9月30日:フォーマット変更(内容の変更はなし)