Discussion:
シリアル通信(RS232C)について
(too old to reply)
鳥畑 成典
2006-10-03 08:47:02 UTC
Permalink
鳥畑と申します。
WINDOWSCE4.2を用いてシリアル通信のソフトを開発しています。
通信パラメータの構造体に設定値を設定し、set用の関数をコールするのですが、ボーレイトは変更できるのに、パリティーの有り無しが変更できません。
具体的には以下の通りです。

DCB.fbitfields=&H3003
DCB.parity=2 ※パリティー偶数

この後setcommstate関数でパラメータを設定し、getcommstate関数で
パラメータを確認すると設定がうまく出来ているにもかかわらず、実際の通信ではRS232Cの通信フレーム上に、パリティービットが付加されません。
なにか他に設定が必要な項目があるのでしょうか?
どなたかよろしくご教示お願いします。
unknown
2006-10-04 00:01:02 UTC
Permalink
鳥畑さん、こんにちは。伊藤です。

それは、おそらくシリアルドライバにおいて、パリティ設定の機能が実装されて
いないためだと思います。ドライバのソースがあるのであればパリティの設定の
処理を見直してみてください。
--
伊藤 優@アキタ電子システムズ
unknown
2006-10-04 00:56:02 UTC
Permalink
伊藤様

鳥畑です。 早速のご対応ありがとうございます。 心強いです。
さて、不慣れで恐縮ですが、情報が足りませんでした。
まず開発ツールはVisualstudio.net2003です。 これでVBを利用しています。
はじめはターゲットマシンで確認していたのですが、腑に落ちないので、エミュレータで試してみたのですが、現象が一緒です。
ターゲット側のBSPには別の問題があるかもしれませんが、とりあえず、エミュレータでも同じなので、エミュレータ上でパリティーが付くのを確認したいのですが
いかがでしょうか?
なにとぞよろしくお願いいたします。
Post by unknown
鳥畑さん、こんにちは。伊藤です。
それは、おそらくシリアルドライバにおいて、パリティ設定の機能が実装されて
いないためだと思います。ドライバのソースがあるのであればパリティの設定の
処理を見直してみてください。
--
unknown
2006-10-09 14:20:01 UTC
Permalink
鳥畑さん、こんばんは。伊藤です。

状況は大体わかりました。先週・今週と外に出ていますので実際の確認を
することができません。ちょっとお時間を頂いてから確認をしたいと思います。

お尋ねしたいのですが、使用されているエミュレータは eVC 付属の
エミュレータでしょうか?本当であれば最初に確認したターゲットボードの
詳細も確認したいのですが、もしわかりましたら実装しているシリアル
ドライバの出所(たとえば Platform Builder 標準)というレベルで結構
ですので教えてください。
--
伊藤 優@アキタ電子システムズ
unknown
2006-10-10 00:30:01 UTC
Permalink
伊藤様
鳥畑です。 お世話様です。
お問い合わせの件は以下の通りです。
不足の情報があればご報告します。 よろしくお願いします。

エミュレータはVisualStudio.Net2003に付属のCE用エミュレータです。
(WindowsCE.NETエミュレータ)
なおアプリ開発はVBで行っています。
ちなみにWindowsCEのエミュレータ用にはRS232Cのドライバとしてcoredllを
PC用にはkernel32を切り替えて使用しています。
(kernel32でパリティービットが立つかは現在確認中です。)
またターゲットボードは三星のS3C2440コアで、内蔵のserialUARTです。
したがって三星製のBSP(ドライバ)です。
よろしくお願いします。
Post by unknown
鳥畑さん、こんばんは。伊藤です。
状況は大体わかりました。先週・今週と外に出ていますので実際の確認を
することができません。ちょっとお時間を頂いてから確認をしたいと思います。
お尋ねしたいのですが、使用されているエミュレータは eVC 付属の
エミュレータでしょうか?本当であれば最初に確認したターゲットボードの
詳細も確認したいのですが、もしわかりましたら実装しているシリアル
ドライバの出所(たとえば Platform Builder 標準)というレベルで結構
ですので教えてください。
--
Loading...