無線と熱帯魚とロードバイクと・・・


#アマチュア無線
#アクアリウム
#ロードバイク
#家庭

FTdx10 をCAT制御で便利に使う (その3) VB.NETによるCATコントロールソフトの開発

2024-07-11 14:29:51 | アマチュア無線

VB.NETでシリアル通信ソフトを制作する最初の関門は、送受信がスムースにできるコードを確定することです。まずツールボックスから SirialPortForm にドラッグし、そのプロパティに所定のCOMチャンネル、ボーレート、ストップビットを設定します。次に送信のコードは以下のようになります。

以上のコードで FA; を送信し無事 TextBox1 に周波数を受信することができました。次に周波数を連続して受信するコードを試してみました。

-------------------------------------------

Fstart:        '周波数の連続受信
 TextBox1.Clear()
 RcvTextBox.Clear()

 CommandStrings = "FA;"
 SerialPort1.WriteLine(CommandStrings)

 GoTo Fstart

-------------------------------------------

ところがこれが全然動きません。つまり単発の送信はできても連続すると動かない、ということです。そこで試行錯誤を行った結果次のような対策で可能になりました。

・FTdx10のタイムアウトタイマーをデフォルトの10msecに戻す。

・次の位置に遅延時間要素を挿入する。

--------------------------------------

Fstart:          
  TextBox1.Clear()
  RcvTextBox.Clear()

 CommandStrings = "FA;"
 SerialPort1.WriteLine(CommandStrings)

' FUNCTION でループによる遅延時間要素を作成する、*はそのループ数(遅延時間)設定値

 DummyLoop(*)  

GoTo Fstart

----------------------------------------------

これで周波数の連続受信が可能になりましたが、この遅延時間の値が動かすPCの性能により変える必要があることが分かりました。例えばPCの動作速度が速い場合、この遅延時間を大きくする必要があります。しかしあまり大きくすると動作しなくなり、その幅はやってみなければ分からない、という状況です。



最新の画像もっと見る

コメントを投稿