YS電子工作ラボ

<V.3版>
ラベルにPCからの
USB受信文字列を表示

(→プロジェクトファイル(Harmony Ver.3 MHC v3.8.0版 ) ダウンロード


 PCのUSB経由で受信した文字列をラベルウィジェットに表示する例を紹介します。
本プログラムは、PIC32MZ評価ボード(→購入方法)用サンプルプログラム "USB(デバイスモード)CDCクラスPIC-PC間 文字列送受信" ( →URL)の受信文字列をグラフィック液晶INT035のラベルウィジェットに表示したものです。  2つのプログラム仕様の差違は、ラベルウィジェットへの文字列表示有無のみです。 したがって PC側のアプリケーションはまったく同じで下記となります。
PC開発環境      参照URL
 VC#(Visual Studio 2017) URL
VC++(Visual Studio 2017)  URL






<仕様>
 ・PCとPIC32MZ間でUSB接続による文字列の送受信をおこなう。
 ・USBのライブラリはHarmonyのCDCクラスをつかうこと
 ・PC側から文字列に対して PIC側からそれぞれに対応した文字列を返信すること
  送受信の文字列は 以下とする

      PCからの送信文字列 PICからの返信文字列
Japan\r Tokyo 
America\r Washington
U.K.\r  London
France\r  Paris
How are you?\ Pardon?

 ・PICのキャラくタ液晶はI2Cインターフェースのキャラクタ液晶とし、以下を表示のこと。
   1行目 …… PCからの受信文字列
   2行目 …… PCへの送信文字列



 ・グラフィック液晶INT035にラベルウィジェットを表示して、文字列としてPCから受信した受信文字列を表示のこと。

  表示例: 文字列  "Japan\r " を表示した場合



 ・ラベルウィジェットのデフォルト文字列は "My Label" とする。
 ・USB 接続確認用としてPCからPICへ送信する文字列は "Are you Ready ?" とする。


 ・PC側のアプリケーションは マイクロソフトのVC# またはVC++で作成のこと。  実行ファイルを以下からダウンロードできます。

PC開発環境    実行ファイル  備考
VC#(Visual Studio 2017) URL   
VC++(Visual Studio 2017)  URL  実行には、Visual Studio 2012, 2017 の Visual C++ 再頒布可能パッケージが必要です。


 ・PCのアプリケーションプログラムの基本動作は、以下とする。
   尚、USBコネクタの脱着を検出し USB接続状態表示(接続完了/未接続 及びランプ表示の灰色/オレンジ色)に反映のこと。

操作/動作 ①プログラム立ち上がり後の初期状態
  USB未接続状態、 
②接続ボタンをPC使用可能COMポートを検索し、使用COMポートのコンボボックスにセットする。セレクトされたCOMポートがPIC側とUSB接続できない場合は COMポート変更等を促すメッセージを表示する。 ③コンボボックスから別のCOMポートを選択する。
PC画面
操作/動作 ④PIC側と接続できたCOMポートを選択できた場合は準備完了"I am Ready"のメッセージを表示する。 またこれと同時に送信ボタン、送信データ用のコンボボックス、"接続完了"の文字 及びオレンジ色のランプ表示も行う。 ⑤送信データをコンボボックスから選択後、送信ボタンをクリックしてPIC側に送信する。PIC側からの返信データを受信データ用のリッチテキストボックスに表示する。
 尚、表示された受信データはクリアボタンで消去できること。
⑥停止ボタンをクリックするとUSB接続は遮断されること。 これに伴い使用COMポートは空欄となり、"未接続"の文字が表示されランプ表示は灰色となること。
PC画面




   
<回路図>(→PDFファイル






<外観> PIC32MZ評価ボード(→購入方法)を使った実験品の外観です。
     汎用モジュール評価ボード(段積みボード)には本テーマと関係ない部品が多々実装されています。

 <全体>  <USBコネクタ部拡大>



<動作結果>(→ 動画:1080pのHD動画を見ることができます。)
     "USB(デバイスモード)CDCクラスPIC-PC間 文字列送受信" と重複する部分は省略しています。

ラベルのデフォルト文字列
 "My Label "
を表示
USB接続状態確認文字列
"Are you Ready ?"
を受信してラベルに表示
"Japan\r"
を受信してラベルに表示
"America\r"
を受信してラベルに表示
"U.K.\r"
を受信してラベルに表示
"France\r"
を受信してラベルに表示
"How are you ?\r"
を受信して表示
   
   








<解説>  プロジェクトファイルを精読願います