RS-232C接続のための VS 2008 C++のプログラム
パソコンとRS-232Cで接続することで制御できるパトライト(PHE-3FB)を渡され、今週中に動かしたいのですが、私はプログラミング経験が非常に浅くどうしても、動かすことができません。加えて、実装の環境が「Visual Studio 2008 C++」のみに限られており、大変困っています。
こんな、初心者の私でもRS-232Cの通信プログラムが書けるようなサイトはないでしょうか。
Windows Visual studio 2008 C++ で書かれたサンプルプログラムのようなものがあれば非常に助かります。。。
どなたか、助けてください・・
追記
MSCOMMコントロールはWindows Visualstudeo 2008 C++にはないのでしょうか・・
No.2ベストアンサー
- 回答日時:
VISUAL BASIC 6.0とUNIXのシェルプログラムでのプログラム例です。
をベースにしています。
1.フォームにツールボックスにある serialPort コントロールを貼る
プロパティ名:serialPort1
2.フォームにツールボックスにある button コントロールを貼る
3.以下はボタンのクリックイベント
// は先のURLにあるサンプルのコード
その下が実際のコード
// Private Sub Command1_Click()
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
//If MSComm1.PortOpen = False Then
if( serialPort1->IsOpen == false){
//MSComm1.CommPort = 1 ' CommPort を 1 に設定します。
serialPort1->PortName ="COM1";
//MSComm1.Settings = "9600,N,8,1" ' 通信ポートを設定します。
serialPort1->BaudRate = 9600;
serialPort1->Parity = System::IO::Ports::Parity::None;
serialPort1->DataBits = 8;
serialPort1->StopBits = System::IO::Ports::StopBits::Two;
//MSComm1.PortOpen = True ' 通信ポートを開きます。
serialPort1->Open ();
//ENDIF
}
//MSComm1.Output = "@??12>!" 'データ送信
serialPort1->Write ("@??12>!");
//MSComm1.PortOpen = False ' ポートを閉じます。
serialPort1->Close();
大変ありがとうございます。
ついに光らせることが出来ました。
まさか、こんなに丁寧に説明してくださるとは思ってもおりませんでした。
ありがとうございます。
No.3
- 回答日時:
>//MSComm1.Settings = "9600,N,8,1" ' 通信ポートを設定します。
~ 中略 ~
>serialPort1->StopBits = System::IO::Ports::StopBits::Two;
ストップビットは1 なのに、Two にしてしまってますね
すみません
No.1
- 回答日時:
こんにちは。
私も昔、メッチャ苦労しました。
「createfile com」
とかで検索したら、たくさん出てきます。
普通に通信するだけなら、そんなに難しくはないです。頑張って下さい。
タイムアウト処理とか、通信中にケーブルが抜けた時の処理とかやり始めると大変ですが・・・。
あと、違えばいいのですが、私がハマった事を追記しておきます。
PCのシリアルポートに、USB-RS232C変換ケーブル等を使われているのでしたら、安物は使わないようにした方がいいです。
とかくデバッグ中は、通信ポートを開いたままプログラム終了、という事になりがちなのですが、そこでドライバの出来が悪い安物を使っていると、すぐにブルースクリーンになり、ほとほと困ったものでした。
名の知れたメーカのに買い替えたらウソのようにデバッグが進んで感動した記憶があります。
私以外にも苦労された方がいらっしゃったのですね・・
なんか少し救われます!
「createfile com」で検索したら、いきなり参考になりそうなものが見つかりました。
ありがとうございます。
ちなみに、ケーブルは一応まともなものであるので心配ないとのことでした・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 Visual StudioとVisual C++ Build Toolsについて 1 2023/04/16 03:42
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- C言語・C++・C# visual studioでフォームデザインを作成する時のVB.netとC#の違い 2 2023/06/22 03:04
- Java EclipseとVisual StudioをPC1台にインストールしただけではPCは重くならない? 3 2022/12/08 15:35
- C言語・C++・C# 参考にいろいろとc言語、c++言語プログラミングでレジストリーを操作したいのですが、無料配布のc++ 3 2022/12/22 01:49
- その他(プログラミング・Web制作) Visual StudioでDjangoのプロジェクト配下のappを作成する方法 1 2022/05/01 03:47
- C言語・C++・C# Switch向けにpcでc言語でゲームを作っているのですが、開発環境はWindows10のvisua 1 2022/04/02 07:04
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- ダイヤルアップ Raspberry Piでアナログモデム経由で音声再生 1 2022/05/20 18:01
- Visual Basic(VBA) VSコードでバックスペースキーが効かない(パイソン) 1 2022/11/09 04:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファジィについて
-
vba 時間の引き算 例えば 15:00...
-
アウトルックが起動しているか...
-
VBAでOutlookを終了させたい Ex...
-
意味不明の実行時エラーで困っ...
-
VBAでArrayListを使う為の「msc...
-
Visual Studio 「AnyCpu」について
-
印刷ダイアログを表示させない方法
-
C#VB、exeに埋め込んだexeの実行
-
VBSでExcelのUserFormをエクス...
-
64bitで作ったEXEを32bitで起動...
-
外部exe呼び出しの方法 ShellEx...
-
matplotlibで任意の角度の円弧...
-
Designer.vbは直接コードをいじ...
-
VBで実行中のEXEファイルの情報...
-
プログラムからプリンタジョブ...
-
ACCESSで設定した帳票の用紙サ...
-
「読み込み違反」が起きたとき...
-
オブジェクト(dll)のレジストリ...
-
IEブラウザの印刷機能を使え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBでUSB制御プログラム作成する...
-
Lotus Notesのカレンダーに外部...
-
IPアドレスの競合について
-
九九の答えの計算
-
シリアル通信の通信・検証方法...
-
Visual Basicでの平方関数について
-
USBシリアルケーブル仕様の通信...
-
MSCommによるCOMポートの制御
-
vb.netでCreateEventの引数
-
SOAPで画像データを送信する
-
ミキサーの情報の取得方法を教えて
-
vba 時間の引き算 例えば 15:00...
-
Designer.vbは直接コードをいじ...
-
Visual Studio 「AnyCpu」について
-
アウトルックが起動しているか...
-
「読み込み違反」が起きたとき...
-
意味不明の実行時エラーで困っ...
-
印刷ダイアログを表示させない方法
-
Windows PowerShellでC言語を実...
-
excel vbaから実行するexe実行...
おすすめ情報