組み込み開発では、デバッグを行う場合に、各種の計測器が役立ちます。ソースコード自体のデバッグという意味とは若干異なりますが、広い意味でのバグの検出に関することですのでここで解説します。組み込み開発を行っていてマイコンの接続先の回路が期待した通りに動いていない場合、マイコンからあるべき信号が出ていないのか、それとも接続先の回路が悪いのかを切り分ける必要があります。マイコンの周辺回路の設定にはそれぞれの回路毎に一定のルールがあります。そのルールに従った設定ができずに、周辺回路から何も信号が出ていなかったということが往々にしてあります。本書に掲載しているサンプルプログラムはすべて動作を検証済みのものですので、これらをベースにして開発している場合には、回路の初期設定からして間違っているということになるケースは少ないでしょう。それでも、修正しているうちに設定をミスして、出力を止めてしまったということがよく起きます。信号を受ける場合も同じで、マイコン側の受信に必要な設定自体ができていないのか、それとも接続先の回路から必要な信号が出ていないのかを区別しないといけません。電気信号は目に見えませんから、何らかの計測器を利用しないと確認することができません。電気的な信号の状態を直接確認したいときに使用するのがオシロスコープとロジックアナライザです。オシロスコープはアナログ的に変化する電圧の、瞬間、瞬間での状況をグラフ化して表示するものです。ロジックアナライザは、デジタルポートからの出力の内容をタイミングチャートにして表示します。目に見えない電気信号の変化を、視覚化して確認できるオシロスコープ・ロジックアナライザは大変有用です。ちなみにオシロスコープは「オシロ」、ロジックアナライザは「ロジアナ」と略して呼ぶことが多いです。オシロスコープもロジックアナライザももともとは大変高価な機器なのですが、最近は安価なものが販売されるようになりました。秋月電子やストロベリーリナックスでは個人でも入手可能な価格のものが販売されていますので、一度検討してみてはいかがでしょうか。安くなったとはいっても個人の感覚からすれば高価でしょう。STM32のマイコンボードなら何十枚と買えてしまうぐらいの値段です。そこでオシロスコープやロジックアナライザが用意できない場合にはテスターで代用する手もあります。Hレベル、Lレベルを間をゆっくりと変化しているような信号であれば、電圧レンジで測定できます。テスターに周波数計やデューティー比計測機能がついている場合には、変化の早い信号であっても、周波数やデューティー比として確認できます。シリアル通信の信号などは本来は周波数計やデューティー比計測で計る類の信号ではないのですが、これらのレンジを使用すると、信号が出ているか出ていないかぐらいは何とかわかります。計測手段が何も無いよりはだいぶんとマシです。DiSco」を使用しています。DiSco***P2170617***169.50ドル(本書執筆時:送料除く)と安価ですが、オシロスコープ、ロジックアナライザ、ロジックジェネレータ(デジタル信号生成器)、SPI・I2C解析器の機能を併せ持っています。解析速度が遅いことと、時々フリーズするのが難点ですが、ホビー用途であればまずまずだと思います。ブレッドボードに直接つなげられるようにBNCコネクタとコンタクトピンのハーネスを作った***P2170618***お金をかけるのがためらわれる場合には、PCのサウンドカードのマイク入力で擬似的にデジタルオシロとして利用するソフトウェアもありますので、検索して試してみてください。本書の校了間近のタイミングでしたが、ロジックアナライザも導入しました。ストロベリーリナックスで取り扱っている台湾ZEROPLUSのものです。Labのものではスピードとメモリが足らないことがあったのですが、これで解決しました。ブレッドボードの使用法このページはITと知的財産の法律情報「法務ネット」の管理人が制作・運営しています。