ブートローダーのテストが終わったので、USBのCDC(Comunication Device Class)接続のテストをしてみました。
CDC接続ではPC側から見るとUSBがCOMポート接続に見えます。
通常はUSBシリアル変換モジュールなどを経由してPC側とやりとりをするのですが、USB対応のPICを使うと単体でUSB接続が可能です。
Maicrochip社の「Device - CDC - Basic Demo 」のブートローダー対応版をiwamotoさんが公開されていますので、これをベースに改造してみました。
ブートローダーでの書き込みはUSBケーブルの抜き差しだけなので、とても楽でした。
回路はブートローダーと同じ回路で、オリジナルは4番ピン(RA3)に接続されたSWを押すとメッセージが表示され、PCから送信した文字を1文字ずらしてPCへ送り返します。
少し改造して、PCから受信した文字をバッファに格納して、「.」を受信すると、バッファの文字列をPCへ返すようにしました。
また、SWを押すとバッファがクリアされます。
TeraTermで接続してテストしてみました。
ボーレートは自動的に追従するようです。
#で囲まれた文字列がPCへ送り返されたものです。
コンパイラはC18が必要でどの版を入れるか悩みましたが、60日を過ぎると評価版はLite版になるようなので、結局評価版にしました。
CDC接続ではPC側から見るとUSBがCOMポート接続に見えます。
通常はUSBシリアル変換モジュールなどを経由してPC側とやりとりをするのですが、USB対応のPICを使うと単体でUSB接続が可能です。
Maicrochip社の「Device - CDC - Basic Demo 」のブートローダー対応版をiwamotoさんが公開されていますので、これをベースに改造してみました。
ブートローダーでの書き込みはUSBケーブルの抜き差しだけなので、とても楽でした。
回路はブートローダーと同じ回路で、オリジナルは4番ピン(RA3)に接続されたSWを押すとメッセージが表示され、PCから送信した文字を1文字ずらしてPCへ送り返します。
少し改造して、PCから受信した文字をバッファに格納して、「.」を受信すると、バッファの文字列をPCへ返すようにしました。
また、SWを押すとバッファがクリアされます。
TeraTermで接続してテストしてみました。
ボーレートは自動的に追従するようです。
#で囲まれた文字列がPCへ送り返されたものです。
コンパイラはC18が必要でどの版を入れるか悩みましたが、60日を過ぎると評価版はLite版になるようなので、結局評価版にしました。