「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



VB2005で作るネコロジー用のPC側ソフトの話。

データ取り込み時にえらく時間がかかる理由が大体
わかりました。

serialportに1行分のデータが届く都度textboxの
後ろに1行分ずつ追加するような処理になっているん
ですが、やはり1行追加するごとにガベージコレクション
(なのかな?)が発生しているような気がします。

textboxにデータ追加されるたびに、文字列データの
物理的な直後に1行分のデータが追加されるのではなく、
内部では毎回毎回textbox全体をリフレッシュして
いるようです。それじゃぁ時間かかって当たり前。

まぁ、テキストボックスってあらかじめ使うべき
空間を確保できてるわけじゃないから、そうなるのは
いうまでも無いのですが。

マイクロソフトのサイトで公開されているサンプル
プログラムに若干問題があるんだよなぁ。
データ量が少ないとそこそこ動いても、ちょっと
データ量が増えると動かなくなっちゃうなんて。

というわけで、直接テキストボックスに押し込む
のではなく、一旦文字列配列に1行ずつストック
してみたら、USARTの通信速度とほぼイコール
で取り込めました。
逆に、プログレスバーの表示はそれほど時間かかって
いないようです。

色々面倒くさいので、いっそのこと1バイト単位で
バイナリデータを入力した方が、まだ扱いが楽かも。
DOS時代のころのように、serialportもファイル
として入出力出来る方が扱いは楽ですよ。

まぁ、一歩前進ということで。
あとは改行コードの問題が若干残ってますが、
なんとかなるんじゃないかな。

そこらへんが確認出来たら、使いやすさとか安定性
とか、まだ実装してない”トリガ条件”の指定機能
とか、そこらへんを実装していきたいところです。


そうそう。週末に秋月でオシロ用のプローブと
BNCコネクタを買ってきました。
プローブは↓この一番安いやつ。1000円なり。
http://akizukidenshi.com/catalog/items2.php?q=%22M-00239%22&s=score&p=1&r=1&page=

部品だけ増えていくんですが、本当に完成するのかどうか…?


あと↓これ。超音波センサー兼超音波スピーカー。
http://akizukidenshi.com/catalog/items2.php?q=%22P-02430%22&p=1
40KHz付近の発声とマイク機能を併せ持っている
という話なので、センサー部はこれ1個だけで距離計
になりそう。

まぁ、こっちを触るのは当分先になりそう。



コメント ( 0 )
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする