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番ピンに接続する
↓↓↓↓↓↓↓↓↓下記の内容は、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チャンネル同時に正常動作する事を確認できた事になる
なお、ブログの内容を参照して実行した結果に責任は負いかねますので、ご了承下さい