JH7UBCブログ

アマチュア無線 電子工作 家庭菜園など趣味のブログです

PIC16F1455 MCC USB Serial 変換テスト

2023-10-03 20:18:45 | PIC16F1455
 しばらくTiny402の勉強をしてきましたが、ここで、PIC16F1455の勉強に戻ることにします。目的はPIC16F1455でUSBシリアル変換を行うことです。うまくいけば、Arduinoに使ったり、Tiny402の書き込み用に使ったりしたいと思います。

 PIC16F1455を使ったUSBシリアル変換の記事はWeb上には多くなく、「elchika」というサイトの「Arduinoにも使えるUSBシリアル変換器」という記事のプログラムでテストをしました。

 MPLAB XからPICへの書き込みと書き込んだプログラムのテストには、前に作成したPIC16F1455開発ボード を使います。開発ボードの記事は、こちら

 テストをした回路図です。PICKit3での書き込み時は、右下のソケットに`PICKit3を接続します。書き込みが終了したら、右上と左下のコネクタにUSBケーブルを接続し、それらをパソコン本体に接続し、TeraTermで通信できるかどうかテストします。


 MPLAB Xでプロジェクトを作成し、elchikaサイトに掲載されているとおりMCCの設定を行いました。generateして、main.cに掲載されているプログラムリストをコピペし、コンパイル、書き込みを行いました。問題なく書き込むことができました。ボーレートは115200bps固定です。

 PICKit3を外して、回路図右上のコネクタにUSBケーブルを接続し、パソコン本体のUSBポートに接続しました。自動的にドライバがインストールされ、COM4として認識されました。

 PIC16F1455のシリアルポートには、FT-234を接続しました。パソコン本体にUSB接続するとCOM5として設定されました。TeraTermを2つ立ち上げ、しれぞれシリアルポートをCOM4とCOM5に、速度を115200bpsに設定して相互に通信できるかどうかテストしました。


 結果は、相互通信ができました。

 USBケーブルが接続された開発ボードです。elchikaさんのプログラムですと、RC2に1が出力されるため、RC2に接続したLEDが点灯のままになります。


 DTR信号が送られるのかCTESTWINびCW送信機能でてすとしましたが、NGでした。そもそもelchikaさんの記事に
「USB_device_CDC.cを書き換えます。下の画像のように117行目のUART_DTRにPORTCbits.RC3を設定してください 」
とあるのですが、現在のバージョンのUSB_device_CDC.c には、該当の箇所がなく、書き換えることができませんでした。

 今回のテストで、テキストの送受信は確認しましたが、DTR信号を出すことができませんでした。もう少し勉強してみます。ただ、DTR信号が出なくてもTiny402への書き込みはできますので、そちらを先にテストしてみようと思います。