パソコンでRS-232C全2重通信可能? – プログラミング – Home

パソコンでRS-232C全2重通信可能...
 
通知
すべてクリア

[解決済] パソコンでRS-232C全2重通信可能?


とるまリンゴ
 とるまリンゴ
(@とるまリンゴ)
ゲスト
結合: 19年前
投稿: 35
Topic starter  

RS-232Cインターフェースでは、送信線(TXD)、受信線(RXD)
が独立しているので全2重通信が可能と思われます。

パソコンのアプリケーションも含めた範囲で、
RS-232C全2重通信作成は可能でしょうか。
(Windowsのドライバか何かの制約で実現不可能な事がないか?)

※製作前の検討段階で実現可/否を見極めたく、
Windowsのドライバか何かの制約で実現不可能な事がないか
事前に知りたい。

<開発環境>
Windows XP SP2, Visual C++2005,
構成プロパティ「文字セット」=設定なし


引用未解決
トピックタグ
TKH
 TKH
(@TKH)
ゲスト
結合: 22年前
投稿: 23
 

送信・受信を別スレッドにし、オーバラップドIO使用することで可能です。


返信引用
んー
 んー
(@んー)
ゲスト
結合: 19年前
投稿: 14
 

>パソコンでRS-232C全2重通信可能?
可能だが…(通信相手次第)
それってVC++の質問ですか?


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

相手側の機器とプログラムの作りようによって可能です。
まず、テストプログラムを作って試してみましょう。


返信引用
とるまリンゴ
 とるまリンゴ
(@とるまリンゴ)
ゲスト
結合: 19年前
投稿: 35
Topic starter  

> 送信・受信を別スレッドにし、オーバラップドIO使用することで可能です。

オーバラップドIOとは非同期のことかと思いますが、
もう一つ制御スレッドを設ければ同期IOでもいけるかなと思いますが、
どうでしょうか。
(送信スレッドは送信完了までWriteFile()ブロック、
受信スレッドは受信完了までReadFile()ブロック) 

電文は、ASCIIデータ(16進数値文字0~9とA~Fのみ)
を STX、CR/LFで囲んだものです。

> 可能だが…(通信相手次第)
とりあえず、PC(VC++)どうしでの通信テストのみです。
(将来組込みマイコン相手にできるように。相手は全2重対応が前提)


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

>> 送信・受信を別スレッドにし、オーバラップドIO使用することで可能です。
>
> オーバラップドIOとは非同期のことかと思いますが、
> もう一つ制御スレッドを設ければ同期IOでもいけるかなと思いますが、
> どうでしょうか。

どうでしょうかもなにも、
そこまでアイデアがあるんならお試しコード書いて試してみればいい。


返信引用
うーむ
 うーむ
(@うーむ)
ゲスト
結合: 19年前
投稿: 1
 

うまくいかなかったから聞くというのならわかりますが…
思いついたことは試さずに全部「どうでしょうか」と聞くつもりですか?


返信引用
Ban
 Ban
(@ban)
Prominent Member
結合: 5年前
投稿: 776
 

> ※製作前の検討段階で実現可/否を見極めたく、
> Windowsのドライバか何かの制約で実現不可能な事がないか事前に知りたい。

# 製作前の検討って、当然、先行調査とか含まれると思うのですが、
# 仕様面でということなら提供元にあたるのが確実で、
# 同時に、怪しいとことは検証コードなどでつぶしますよね。
#
# 検証コードはあくまで検証用であって、製作とは別物です。
#
# お絵かき以外の手を動かす作業を他人任せにしようとしてるようにしか見えないので、
# 望む回答は難しいと思います。恣意的に「動きます」とか「動きません」とか書かれる
# 可能性を考慮すると、自分で書く(or業務上の担当者に振る)のが安全だと思います。


返信引用
とるまリンゴ
 とるまリンゴ
(@とるまリンゴ)
ゲスト
結合: 19年前
投稿: 35
Topic starter  

皆様、ご教授・指摘ありがとうございます。

先行調査として試作コードは製作中です。
通信、VC++等々不慣れなもので、どんな仕組みにするかで悩んでます。
質問はその上でしています。

全2重通信、マルチスレッド等々になると、先行調査すら、
未熟者にはハードルが高いのです。

>送信・受信を別スレッドにし、オーバラップドIO使用することで可能です。
これを聞いたから、
>もう一つ制御スレッドを設ければ同期IOでもいけるかな
と思ったわけです。
その前は、シングルスレッドで試作しようと思ってました。

自身にとって大きな規模や高いハードルのものを試作しようとしたら、
どんな仕組みにするかが重要だと思います。

Banさん
他人任せのつもりじゃありませんので、ご容赦を!(^ ^;
 ># 仕様面でということなら提供元にあたるのが確実で、
自作PCソフト同士なので、提供元はありません。


返信引用
とるまリンゴ
 とるまリンゴ
(@とるまリンゴ)
ゲスト
結合: 19年前
投稿: 35
Topic starter  

解決済チェック付け忘れてました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました