carcon999のブログ

12年間Y!ブログの記載を移行しました。電子工作関連の記事が多いです。

サンプルプログラムの実行

USBのフルスピードを実装するために、マニュアルを読むのも大変なので、まずはサンプルコードを拝見することにしました。私が目を付けたのは、『Virtual_COM_Port』のサンプルです。

イメージ 1

まずは、フルスピードまで行かなくても、通信できれば一歩前進できるとの考えと、このサンプルもUSBのバルク通信を利用している(STM32F10xxx USB development kitのマニュアルの概要より)ようなので、改造も楽かも・・・との考えで選択しました。

最初に、ビルドが通らん!私は、『IAR Embedded Workbench IDE』を利用しているのですが、サンプルをビルドするとエラーが発生します。この時点でめげてはいけません。先駆者がおりました。
ESP企画さんが、「 http://www.esp.co.jp/CQ_STARM/tool01a.pdf 」にてビルド方法を公開していました。
トップページからのリンクは、外されているようですが、ググったらヒットしました。
この通りに、設定を変更したところ、ビルドに成功しました。注意点は、ビルドエラーを無くすだけでなく、必ず開発環境のスタートアドレスの設定までを行いましょう。DFU(USBダウンローダー)を消してしまうことになりかねません。

イメージ 2

実際に動かしてみると、ちゃんと仮想COMポートとして認識されております。(私の環境ではCOM9)

早速ハイパーターミナルで動かしてみると、なんか文字化け化けです。どうやら、サンプルは、1台を仮想COMポートに接続し、もう1台をUARTで接続して、お互いでデータをやり取りするようなサンプルのようなので、UARTに何も接続していない私の環境では不正な動作をしているようです。

イメージ 3

せっかくなので、1台でテストできるループバッグにソースを少し変更してみました。ハイパーターミナルで、キーボードからキー入力すると、入力値がターミナルに表示されます。
※もちろん設定のローカルエコーはOFFです。

準備が整いしだい、ダウンロードサイトで、IAR Embedded Workbench 用の仮想COMポートのループバックサンプルを提供します。興味のある方はどうぞ。少しだけ、手を加えたのと、サンプルコードを読んでいる最中に、日本語のコメントを少し加えて行きました。(一部だけですが・・・)