1. UART とは

2. RS-232C

3. SPP


演習 2-1 (個人PC): UART を使って PIC と Bluetooth モジュール(RN-42)間を接続し、さらに SPP を使って Bluetooth モジュール(RN-42)と PC 間を接続し、PC から PIC を制御してみましょう。プログラムの仕様は以下の通りです。

仕様:

  1. Bluetooth モジュールとして RN-42 を使用する
  2. PIC の 8 ピン を Rx、11 ピン を Tx とする
  3. PIC と RN-42 間の UART によるシリアル通信速度は 115200 bps とする
  4. RN-42 と PC 間の SPP によるシリアル通信速度も 115200 bps とする
  5. PC から PIC に文字 'a' が送られたら LED を点灯して文字列 "ON" をPC側に送信する
  6. PC から PIC に文字 'b' が送られたら LED を消灯して文字列 "OFF" をPC側に送信する

プロジェクト「IO_1_3」を「IO_2_1」にコピーします(プロジェクト名を右クリックして Copy を選択)。
プロジェクト IO_1_3 を閉じます(プロジェクト名を右クリックして Close を選択)。
(もし開きっぱなしになっていたら) 前のプロジェクトで開いていたソースを全て閉じます。
(IDEのバージョンによっては) プロジェクトのプロパティを開き、そのまま「Apply」ボタンを押して設定ファイルを更新します。※ 通常は自動で設定ファイルが更新されますが、バージョンによってはバグのため自動更新されないようです
setting.h を開き、一旦全ての機能をオフにします。
シリアル通信(USE_UART) のコメントアウトを解除します。
main.c を開き、ファイルの中身をテンプレートの内容に置き換えて下さい。
穴埋め問題になっていますので、プログラム内のコメントを参考に?のところを正しい内容に修正してください。
回路を作成します。

以下の設定に従って回路を作成して下さい。
(*) が前の演習からの変更箇所です。

ピン配置設定・回路接続方法:

1: RA2
2: RA3
3: RA4
4: MCLR/VPP -- PICkit の 1: NMCLR
5: VSS -- GND
6: RB0 (GPIO入力) -- タクトスイッチ
7: RB1
(*)8: Rx (UART) -- RN-42 の J2-6 : TX (UART)
9: RB3

10: RB4
(*)11: Tx (UART) -- RN-42 の J2-7 : RX (UART)
12: ICSPCLK -- PICkit の 5: PGC
13: ICSPDAT -- PICkit の 4: PGD
14: VDD -- 3.3V
15: RA6
16: RA7
17: RA0 (GPIO出力) -- LED
18: RA1

※ RN-42 のアンテナ側を上にした時、右側が上から順に J2-1、J2-2、・・・となります

PC と RN-42 をペアリングし、SPP による仮想シリアルポートを PC 上に作成して下さい(方法は PC で使ってる OS による)。
適当な端末ソフトを起動して仮想シリアルポートを開いてください(通信速度 115200 bps、データビット 8 bit、パリティ無し、ストップビット 1 bit、フロー制御無し)。
書き込みボタンを押して正常に動作する事を確認して下さい。
指定場所に「main.c」を記入して下さい。