ブログパーツ レンタルCGI
TAKAさんの毎日が発見・ブログ
アマチュア無線の機器製作を中心にした日常の活動記録です (by Taka JA2GRC、このブログはFC2_BLOGを使わせていただいてます。)
≪09月   2017年10月   11月≫
1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  
簡易アンテナアナライザ・その5
 途中までやって放置状態になっていたこちらのアンテナアナライザをもう一度じっくり調べてみました。
 前の確認でArduino Sweeper 側は問題なさそうだと言う事までは分かっていましたので、パソコン側のプログラムを中心に確認してみました。

 で、久しぶりに以前のプログラムを触ろうとしましたらエラーになってしまって動きません。 「あれ、何かおかしなまま放っておいたのかな?」 と一瞬思いましたが、エラーメッセージを見て見ると、デジタル署名の期限が切れているとなっています。 そう言えば、今使っているVisual Studio 2015 はこのエラーが良く出ます。 以前にも同じ症状で対応方法を調べた事がありました。 今回も同じ問題ですね。 デジタル署名を再発行して、とりあえずこのエラーは回避できました。 しかし、だいぶ前に期限切れになっていますね。 それ以来触っていないと言う事ですね。

161010_antenna_analyzer_17.jpg

 Arduino Sweeper 側もスケッチを探して動かしてみました。 だいぶ以前なので、すっかり操作法を忘れてしまっていましたが、色々触っている内に少しずつ思い出してきました。 とりあえず、Arduino Sweeper 側は、このスケッチで問題なさそうです。

161010_antenna_analyzer_18.jpg

 で、改めてパソコン側と繋いでテストしてみましたが、Arduino Sweeper 側からSWR測定データは、最後の行に「End」が入っているので、パソコン側のプログラムは、この「End」を読み込み終えるまで、データを取り込み続けるのですが、モニタ用にはき出させているデータを見ている限り、この「End」まで読み込まずに途中で読み込みが中断されている模様です。 プログラムコードを読んでみた限りでは、「End」まで読み込む前にタイマ割り込み監視で読み込み停止している事を検出しているみたいです。

161010_antenna_analyzer_19.jpg

 そこまで分かったので、一度タイマ割り込みを極端に大きくしてみましたが、状況に変わりはありません。 更に、この状態でシリアル転送(Arduino Sweeper 側は送信、パソコン側は受信になる)の転送速度を57600bpsから9600bpsまで落として見ました。 そうしたら、ちゃんと「End」まで読み込んでいるみたいです。 Visual Studio のシリアル受信では57600bpsで受信すると、バッファオーバーランが起きているみたいですね。 しからばと、転送速度を徐々に上げてみましたら、19200bpsまではちゃんと受信できていますが、38400bpsになると取りこぼしが発生するようです。 受信バッファサイズはデフォルトで4096が設定されています。 送信データは改行分を入れても、1行当たり32文字、それが初期値の101ステップだと、全部纏めて受信しても3232文字ですから、バッファサイズを大きくしても、取りこぼしは回避できないのかも知れません。 とりあえず、今回は転送速度を19200bpsにすることで、回避することにします。 しかしオリジナルはちゃんと57600bpsで上手く行っていたのでしょうね。 なにが差なのでしょうか?

161010_antenna_analyzer_20.jpg
コメント
この記事へのコメント
URL :
コメント :
パスワード :
管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
Template designed by アクセラと+αな生活

Powered by まとめ .