« STM8Sマイコンで作る警報音 (3) | メイン | 書籍「Windowsで制御するPICマイコン機器」 補足Windows版 I2Cブリッジ制御ソフト(1) »

STM8Sマイコンで作る警報音 (4)


STM8S-Discoveryに圧電スピーカをつなぐ 断続する様子をデバッガで監視する

 STマイクロエレクトロニクス社(以下ST社)の STM8S-Discovery で,圧電スピーカから断続的に発せられる音をデバッガから監視してみます.

実行中の内部状態を知りたい

 プログラムの実行中に変数などの状態を確認できると便利です.多くのデバッガでは,ブレークポイントでプログラムの実行を停止させてから,内部状態を確認する方法をとっていました.

デバッグシステムのブロック図

 一方, STM8S マイコンのデバッグ・モジュールは, CPU を介することなくバスと接続されています.そのため, SWIM インターフェースを使い,プログラムの実行をさまたげることなく,マイコンの内部状態を確認または変更することができます.

内部変数を監視リストに加える

 この記事では,内部変数を監視しながら,警報音出力と内部変数の関係を調べます.まず,通常通り,デバッガを起動します.

beep_switch変数を選択する

 そして, Source Files フォルダの中にある main.c ファイルをダブルクリックして開き, beep_switch 変数をさがして,選択します.

beep_switch変数のコンテクストメニュー

 選択した変数の上で右クリックすると,コンテクスト・メニューが開きます.メニューの QuickWatch... を選択して, QuickWatch ダイアログを開きます.

QuickWatchダイアログ

 このダイアログでは,監視する変数を指定します. Add Watch ボタンをクリックして, beep_switch 変数を指定します.

Watchペイン

 すると,ウィンドウの左下に Watch ペインが追加されます.このペインには, beep_switch 変数の内容が表示されています.プログラム開始直後は, "0" となっています.

実行時にも変数が監視できるように設定する

 これで,変数の監視ができるようになったのですが,実行中の変数を監視するためには,もう一工夫必要です. Watch ペインで右クリックして,コンテキスト・メニューを開きます.

Watchペインのコンテキスト・メニュー

 メニューから Read/Write On Fly を選択します.すると, Watch ペインの色が緑色から黄色に変化します.

実行中も監視可能なWatchペイン

 これで,実行中でも変数の変化を観測できます.

プログラムを実行する

 変数を監視する準備が整いました.プログラムを実行すると, beep_switch 変数の変化に従って,警報音が出たり止まったりするのが確認できます.

 動画を見ているとわかると思いますが,変数の値が変更されてから, Watch ペインに表示されるまで遅延があります.このため,警報音の周期が短いと,警報音の ON/OFF 状態と変数の状態が合わなくなってしまいます.

 この動画のプログラムは,警報音を4秒出して4秒止めるようにタイマのプリスケーラ設定を変更しているので,警報音が ON のときに beep_switch 変数が ’1’ になっているのが確認できます.

田中範明(noritan.org)

カテゴリ:

トラックバック

このエントリーのトラックバックURL:
http://www.eleki-jack.com/mt/mt-tb.cgi/4237

コメント (1)

ノンノ:

こんにちは
>STM8S discoveryでLチカ 読ませて頂きました。
STM8S で判らないんですが PWMなども
Timerモジュール から作り出すんでしょうか?
マニュアルを読んでも頭に入ってきません。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)





カテゴリ

会社案内
情報セキュリティおよび個人情報の取り扱いについて

コメントとトラックバックは、spamを予防するために、編集担当が公開の作業をするまで非公開になっています。
コメントはそれぞれ投稿した人のものです。

Powered by
Movable Type 4.1
/*yahoo remove*/