読者です 読者をやめる 読者になる 読者になる

Nov11’s diary(自宅での開発環境作り )

3Dプリンタと切削加工機で工作した事をアップして行きます

PICを使用して開発する事にした(シリアル通信/UART通信)(その2)

音声合成LSIのUART通信が確認出来たので、PIC24FJ64GA002のUART通信を2チャンネル同時に動作するか確認する事にした
[事前準備]
1)PICを使用して開発する事にした(シリアル通信/UART通信)を行う
2)PICを使用して開発する事にした(1000円で音声合成)を参照して音声合成LSIを配置する
  (※)ただし、Tera Term(テラターム)のローカルエコーのチェックは入れない
[配線]
下図を参考にPIC24FJ64GA002の14番ピンを音声合成LSIの3番ピンに接続し、PIC24FJ64GA002の15番ピンを音声合成LSIの2番ピンに接続する

f:id:Nov11:20160203132642j:plain

↓↓↓↓↓↓↓↓↓下記の内容は、MCC(v2.25.2)を使用しています↓↓↓↓↓↓↓↓
v2.25.2を使用する場合は、11月08日のブログを参照して下さい

[プログラム作成]
1)MPLAB Xを起動し、プロジェクトを作成する
2)Code Configuratorで、Systemを設定し、GPIO、UART1とUART2を追加する
3)UART1と2の設定をBaud Rate:9600,DataBits:8,Parity:None,Stop Bits:1,
 Flow Control:Noneにし、[Enable All UART Interrupts]にチェックを入れる
4)Code ConfiguratorのPin Managerで、U1TXとU1RXをPICの18,17番の順に設定し、
 U2TXとU2RXをPICの15,14番の順に設定する
5)Generate Codeを押してコード生成を行う
6)ループバックプログラムをメイン関数に記述する
 と、言っても、MPLAB XのCode Configuratorがプログラムの大半を自動生成してくれるので、
 コーディングは以下の数行となる
    while (1) {
        // Add your application code
        // PC -> LSI
        if ( UART1_ReceiveBufferIsEmpty() == false ) {
            ucCode = UART1_Read();
            UART1_Write(ucCode);   // PCへのエコーバック
            UART2_Write(ucCode);   // LSIへの送信
        }
        // LSI -> PC
        if ( UART2_ReceiveBufferIsEmpty() == false ) {
            UART1_Write(UART2_Read());
        }
    }
7)プログラムをコンパイルしてPICへ書き込む
8)Tera Termを起動し、ローマ字を入力して[enter]を押した後に音声が聞こえれば、
 PIC24FのUARTを2チャンネル同時に正常動作する事を確認できた事になる

なお、ブログの内容を参照して実行した結果に責任は負いかねますので、ご了承下さい