スパイス  組み込み制御装置の受注製作

ライブラリの導入
平成27年 1月 13日

 MPLAB Xの検索機能
 先のUSBプログラムのデバッグ中にMPLAB X検索機能の便利さに助けられました。と同時に少しハマリもしましたが。
MPLAB XのベースはNetBeansですので使い勝手に関しては非常によく考えてあります。

 通常、変数名や構造体の検索では、そのファイル中であればエディタで全てを探せます。しかし別ファイルであるヘッダーファイルにある構造体定義を見つけるにはエディタでは出来ないものが多く(注1)、unix系ならgrepコマンドの出番です。
 今回のMPLAB Harmonyではヘッダーファイルの保管位置も複数のフォルダに分かれているのでgrepコマンドでも、作業ディレクトリを上手く選んでやらないと、検索に引っかからないか多数の不要な検索結果のごみを一緒に拾います。

   (注1)補足
 最近のエディタの中には、このようなプロジェクトを設定して複数のファイルにまたがる検索をサポートしたものもあります。

 このようなケースに対してMPLAB Xではプロジェクト全体を対象に検索する機能が実装されています。使い方は検索したいキーワードを選択してマウスの右クリックで”Find in Projects...”を選択します。 再度”Find”ボタンを押すと、MPLAB Xの画面右下に検索結果が表示されます。
 非常に便利なのですが、注意点があります。
それは”プロジェクト全体を対象に”という部分です。このプログラムがプロジェクトの対象としているのは、プロジェクト(画面の左上にあるProjectツリー)に登録されているファイルのみです。grepコマンドのようにフォルダを対象にしているわけではないので注意が必要です。
特にヘッダーファイルの登録漏れがあっても、この検索機能では見つけることが出来ません。
MPLAB Hamonyのサンプルプログラムでも多重にネストしているヘッダーファイルの幾つかは登録されていませんので、もし検索で定義部分が見つからない時にはヘッダーファイルの登録漏れを疑ってください。
 この場合はやはり従来どおりgrepコマンドで探すことになります。

 ということで、この検索機能があってもgrepコマンドは持っておいた方が良い。
Windows環境(Cygwinのようなunix互換環境でない)で使用できるgrepコマンドもあるようですが、私は使い勝手の良いものを見つけられなかったので、簡単なバッチファイルを作って使っています。Dos窓で少なくともWinXP以降で使用できます(win2000以前は未確認)。
grep.bat
findstr.exe  /s /n %1 %2 %3 %4 %5
findstr.exeはDos窓での検索コマンドです。これをDosコマンドを集めたディレクトリにいれ、コマンドパスを通しておきます。
実行する度にbat処理の内容が表示されるなど、細かな使い勝手の変更もした方が良いのですが、面倒でそのまま使っています。

 次は、シリアルポートの性能について実測してみます。今の半二重通信の状態でどの程度の通信速度が出るのかを実測してみます。

目次へ  前へ  次へ