- 締切済み
RS232C端子に信号を出力させたい
環境は VB9(2008) Express Edition,WindowsXP です。 RS-232C(2,3,4,5,6,8,20) 何れかのピンをプログラムでON-OFF出来るようにしたいのですが。 なお、Visual Basic 2008 は、無料でダウンロードでき、ライセンスも無料で取得できるようです。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- redfox63
- ベストアンサー率71% (1325/1856)
やりたい事がどのようにコーディングしたら出来る考えた事、実行した事、その結果が期待する結果とどのように違ったのかを具体的に質問しましょう VB2008なら System.IO.SerialPortクラスを使うほうが良いでしょう 時間待ちには System.Threading.Sleepを使えばよさそうですよ フォームにSerialPosrt、ピクチャーボックスとボタンを貼り付けます ONにしたときのイメージとOFFにしたときのイメージを準備します フォームのコードの先頭に Imports System.Threading を記述します ボタンのクリックイベントに SerialPort1.DtrEnable = False SerialPort1.Open PictureBox1.Image = imgON Application.DoEvents() SerialPort1.Dtrenable = True Thread.Sleep( nOnTime ) PictureBox1.Image = imgOFF Application.DoEvents() SerialPort1.Dtrenable = False Thread.Sleep( 400 ) SerialPort1.Close() SerialPort1.Dtrenable = False といった具合で良いと思います # 実際に信号波形は見ていませんので …
- x415f484f
- ベストアンサー率71% (57/80)
> Openというコマンドというかステートメントが存在しないようなんです。 VB 2005 や VB 2008 (.NET Framework version 2.0)以降であれば System.IO.Ports という名前空間があると思いますが? System.IO.Ports 名前空間 http://msdn2.microsoft.com/ja-jp/library/system.io.ports(VS.80).aspx SerialPort メンバ (System.IO.Ports) http://msdn2.microsoft.com/ja-jp/library/system.io.ports.serialport_members(VS.80).aspx 但し私のパソコンに物理的なシリアルポートがないので動作確認はしておりません。
- gatyan
- ベストアンサー率41% (160/385)
open "COM1:" 等で、COMポートを開いたり閉じたりすることで 4 RTS とか 20 DTR がON-OFFできるかも 未確認なのでテストしてみてください
補足
すみません。2008は初めてなんですが、そもそもOpenというコマンドというかステートメントが存在しないようなんです。
補足
デバッグして動く様になったのですが、信号は出たままです。何処が悪いのでしょうか。 確認ですが、 Thread.Sleep( 400 )は、Threading.Thread.Sleep(400)ですよね。 以下は、最終プログラムです。 Imports System.Threading Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click SerialPort1.DtrEnable = False SerialPort1.Open() PictureBox1.Image = WindowsApplication1.My.Resources.Resources.imgON Application.DoEvents() SerialPort1.DtrEnable = True Threading.Thread.Sleep(2000) PictureBox1.Image = WindowsApplication1.My.Resources.Resources.imgOFF Application.DoEvents() SerialPort1.DtrEnable = False Threading.Thread.Sleep(4000) SerialPort1.Close() SerialPort1.DtrEnable = False End Sub End Class