TOP > MPLAB C18編(PIC18F4550) > USBでパソコンと通信(CDCクラスを使う、プログラムを変更する)
USBでパソコンと通信
(CDCクラスを使う、プログラムを変更する)
更新日2010.2.14
USBフレームワークのCDCクラスを使ってパソコンとUSB接続する実験を行います。
使用するPICはPIC18F4550です。
前のページでは、サンプルプログラムをそのまま動かしましたが、今回は手を加えてみます。
-
このページの内容 ・回路図 ・サンプルプログラムの構成 ・サンプルプログラムのソース ・サンプルプログラムを改造する 仕様 プログラムの改造 プロジェクトのビルド ・動作確認 PICにプログラムを書き込みPCに接続 PC側のハイパーターミナルを起動し動作確認 ・プログラミング上の注意事項
| 回路図 | |||||||||||||||||||||||||||||
| ・ |
| ||||||||||||||||||||||||||||
| サンプルプログラムの構成 | |||||||||||||||||||||||||||||
|
サンプルプログラムのプロジェクトには多くのソースが含まれますが、今回手を加えるソースは「main.c」です。 「main.c」そのものも大きなプログラムですが、関連する関数は下表の黄色の関数です。
ProcessIO() は、main()のループから毎回呼び出されます。ここには、USBの送受信処理とそれに関わる処理を記述します。 | |||||||||||||||||||||||||||||
| サンプルプログラムのソース | |||||||||||||||||||||||||||||
|
それではサンプルプログラムのソースがどうなっているか見てみましょう。
前のページで行った実験結果と、PIC側のプログラムの作りが繋がったかと思います。 | |||||||||||||||||||||||||||||
| サンプルプログラムを改造する | |||||||||||||||||||||||||||||
|
それでは、サンプルプログラムをベースにして他の動作をするプログラムを作りましょう。
新たに作るプログラムの仕様は次の通りです。 パソコン側はWindowsに添付されているハイパーターミナルを使います。 パソコンからのコマンドで、PIC側のRD2,3のLEDを制御します。 コマンドは以下のように6種類としました。
main.cの改造が終わったらビルドしてエラーが無いことを確認しておきます。 | |||||||||||||||||||||||||||||
| 動作確認 | |||||||||||||||||||||||||||||
|
プログラムができましたので動作確認を行います。
ビルドしたhexファイルをPICに書き込みます。 そして、USBでPCに接続します。RD0,1のLEDが交互に点滅すると思います。
| |||||||||||||||||||||||||||||
| プログラミング上の注意事項 | |||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||