tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^4: Chr関数 VB2010でおかしい?
投稿日: 2017/08/02(Wed) 20:31
投稿者MSAKA
> > > シリアル通信ということは、System.IO.Ports.SerialPort クラスですかね。
> > > 今回問題となっている処理は、どのようなコードなのでしょうか?
> > >>> sample_0008 と言うものをWebからダウンロード 2010用に変換したものです
>
> 「それ」を何処から拾ってきたのかを書いてくださいな。(^_^;)
>
> 検索したら下記がヒットしましたが、これですかね?
> http://kana-soft.com/tech/sample_0008_4.htm
>
> だとしたら、System.IO.Ports.SerialPort クラスのことですね。
>
> ※注:上記 URL には "SerialPortコントロール" という表記がありましたが、
>  実際にはコントロール(Control 継承クラス)ではなく、
>  コンポーネント(Component 継承クラス)に属します。

> 「それ」を何処から拾ってきたのかを書いてくださいな。(^_^;)
>
> 検索したら下記がヒットしましたが、これですかね?
> http://kana-soft.com/tech/sample_0008_4.htm >>> ハイ そうです
>
> だとしたら、System.IO.Ports.SerialPort クラスのことですね。
>
> ※注:上記 URL には "SerialPortコントロール" という表記がありましたが、
>  実際にはコントロール(Control 継承クラス)ではなく、
>  コンポーネント(Component 継承クラス)に属します。>>> この辺は頭が痛くなります

*何故拾ってきたのか >>> EasyComm(多分ご存知でしょう)を使いVBAでシリアル通信を
 行うように進めてきたのですが機器側から信号を送ってきたときの受信イベントができない
(何か方法があるとは思いますが私の知識では思い浮かばず) 色々調べていたらそれが可能な
 サンプルがあったのでコレコレと思ったのです・・・しかし VB2010等を勉強しなければ
 ならない・・・という作業が増えてしまいました

早々やってみました 仰せのとおりの結果ですが
  a AS Char = Chr(&H6)  は "-" ですが 
VBAでの  TX$ = Chr(&H6)  は "・" で明らかに違います これは何故でしょう
で Charで試みましたが相手機器には届きませんでした

機器へのコード例(無線機を送信状態にする)を示してみます(変数はグローバル変数で定義)

Private Sub CommandButton6_Click()
'送信

PR$ = Chr(&HFE) + Chr(&HFE) ’先頭に付ける同期用コード
RE$ = Chr(&H66)       ’無線機のアドレス
TX$ = Chr(&H0)        ’PCのアドレス
FI$ = Chr(&HFD)       ’メッセージ終了コード

CMA$ = Chr(&H1C)       ’無線機に対するコマンドコード
CMAS1$ = Chr(&H0)      ’  サブコマンド
CMAS2$ = Chr(&H1)      ’  サブコマンド

TxString = PR$ + RE$ + TX$ + CMA$ + CMAS1$ + CMAS2$ + FI$

ec.Ascii = TxString         ’Portへの書き込み

End Sub
無線機に「送信状態にしろ」そうすると「したよ」と返してくる

無線機から返ってくるのも基本的には同じ (REとTXの順序が逆になりますが)

良く判っていない おじいさんにつき合わせてすみません

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。