Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

シリアル通信でCPU使用率100%(機種依存?)

96 views
Skip to first unread message

Yuuichi Naruoka

unread,
Mar 28, 2007, 10:20:31 PM3/28/07
to
 成岡@DTI静岡です。なんとも奇怪な事態に巻き込まれています.

 まずは開発環境からして奇怪です。VB4+5+6.3ランタイム+MS Officeという
環境です。これは何かと言うと前任者がVB4のソースをVB5で再開発したの
ですが、この時どうも開発環境に6.nのランタイムが混じってしまい純粋のVB5
では動かなくなってしまったのです。また一部MS Officeの環境も必須となって
いました。前任者は退社したのでもはや環境の再現ができず、私が6.3ランタイム
適用&一部修正でなんとか動くようにしました。なお開発用ハードはThinkPad
T43上にVirtual PCをインストールし、そこでwin2000を動かして上記環境を構築
しています。

 さて、この環境でシリアルポート経由で外部の組み込みマイコンと通信を行い
つつ機器制御を行うと言うプログラムを開発(と言うか改造)しました。VBを用いて
インストーラを作成、virtualPC上にクリーンなOS環境を用意してインストール&
動作確認を行いOK、だったはずなのですが突然問題が。

 発注主が手持ちのDELL Latitudeにこのインストーラでソフトをインストールし、
機器制御を行おうとしたところ組み込みマイコンの電源を入れただけでPC側の
ソフトがほとんど動かない状態になってしまうのです。タスクマネージャで確認
したところ該当プログラムのCPU使用率がほぼ100%(システム使用分を除く全て)
になっていました。更に社内で昔開発用に使っていたVAIOノート(win2000)にも
インストールしましたがやはり同じ状況です。

 ところが私が昔使っていたThinkPad X22(win2000)にインストールしたところ、
何の問題もなく動きます。もちろんシリアル通信も正常にできます。またこの
問題はvietualPC実行時にも発生したので社内のオリジナルデスクトップPC
(winXP Pro)にVirtualPCをインストールして開発環境を丸ごとコピー、動作確認
を行ったところ正常に動作します。なお同じシステムで別バージョンのプログラム
を開発し、客先のPCにインストールしたものは正常に動いています。

 ここで考えられることは、正常動作しなかった機種は「何らかのプログラム
開発環境がインストールされている」と言うことです。実はT43上で組み込み
マイコンの簡単なエミュレータ(コマンドに対するアンサーを返すだけ)を動かして
みたのですがそれを使った場合は正常に動作するのです。実機との違いは
シリアル通信の制御です(実はここはライブラリを使っているので内容が良く
わかりません)。ただハード的な問題とは思えないのですが、どのような原因が
考えられるでしょうか。

--
成岡@DTI(yn...@jade.dti.ne.jp)

Shinji KONO

unread,
Mar 29, 2007, 8:27:33 AM3/29/07
to
河野真治 @ 琉球大学情報工学です。

In article <euf7pj$1tip$1...@ns.sfwj.jp>, "Yuuichi Naruoka" <yn...@jade.dti.ne.jp> writes


>  発注主が手持ちのDELL Latitudeにこのインストーラでソフトをインストールし、
> 機器制御を行おうとしたところ組み込みマイコンの電源を入れただけでPC側の
> ソフトがほとんど動かない状態になってしまうのです。タスクマネージャで確認
> したところ該当プログラムのCPU使用率がほぼ100%(システム使用分を除く全て)

シリアルが予期しないステータスを返して、write/read に意味な
く戻って来るなんてのを想像します.... 対処してない応答がある
のかも知れませんね。

シリアルのコントローラとか、ドライバの差じゃないかぁ?

(sleep 入れちゃえ、とか思わないでもないです....)

---
Shinji KONO @ Information Engineering, University of the Ryukyus
河野真治 @ 琉球大学工学部情報工学科

Okamoto Yuuji

unread,
Mar 29, 2007, 11:47:16 AM3/29/07
to
 岡本@松山 です.
----------------------------------------------------------------------
In article <3993545...@rananim.ie.u-ryukyu.ac.jp>, ko...@ie.u-ryukyu.ac.jp says...

>
>In article <euf7pj$1tip$1...@ns.sfwj.jp>, "Yuuichi Naruoka" <yn...@jade.dti.ne.jp> writes
>>  発注主が手持ちのDELL Latitudeにこのインストーラでソフトをインストールし、
>> 機器制御を行おうとしたところ組み込みマイコンの電源を入れただけでPC側の
>> ソフトがほとんど動かない状態になってしまうのです。タスクマネージャで確認
>> したところ該当プログラムのCPU使用率がほぼ100%(システム使用分を除く全て)
>
>シリアルが予期しないステータスを返して、write/read に意味な
>く戻って来るなんてのを想像します.... 対処してない応答がある
>のかも知れませんね。
>
>シリアルのコントローラとか、ドライバの差じゃないかぁ?
>
>(sleep 入れちゃえ、とか思わないでもないです....)
>

 sleep 入れても100%だったことがあります.
 WindowsNT+Visual C でした. 確か2000年あたり.

 このときは別のヒトに直して貰いました.
 ど~やったか訊くと,
  「明示的にOSにCPUを明け渡すように書く必要がある」
...とのことでした.
----------------------------------------------------------------------
ぢゃ (^^)/~~ 岡本 祐二 okam...@mx36.tiki.ne.jp -[終]-
# え~? DOSじゃあるまいし...と今でも思ってます. (^^;


Yuuichi Naruoka

unread,
Apr 9, 2007, 9:22:23 AM4/9/07
to
 成岡@DTI静岡です。フォローに気がつかずに返事が遅れてしまいました。
 ちなみに納品先のPCではちゃんと動いたようですが、根本的な解決には
なっていません。

> In article <3993545...@rananim.ie.u-ryukyu.ac.jp>,
ko...@ie.u-ryukyu.ac.jp says...
> >
> >In article <euf7pj$1tip$1...@ns.sfwj.jp>, "Yuuichi Naruoka"
<yn...@jade.dti.ne.jp> writes
> >>  発注主が手持ちのDELL Latitudeにこのインストーラでソフトをインストール
し、
> >> 機器制御を行おうとしたところ組み込みマイコンの電源を入れただけでPC側

> >> ソフトがほとんど動かない状態になってしまうのです。タスクマネージャで確

> >> したところ該当プログラムのCPU使用率がほぼ100%(システム使用分を除く全
て)
> >
> >シリアルが予期しないステータスを返して、write/read に意味な
> >く戻って来るなんてのを想像します.... 対処してない応答がある
> >のかも知れませんね。
> >
> >シリアルのコントローラとか、ドライバの差じゃないかぁ?

 元々のマイコンとの応答でもDTRを有効にしていないと受信ができないので、
こうしたことはありそうです。


"Okamoto Yuuji" <okam...@mx36.tiki.ne.jp> wrote in message
news:eugn23$gdo$1...@caraway.media.kyoto-u.ac.jp...


> >(sleep 入れちゃえ、とか思わないでもないです....)
> >
>
>  sleep 入れても100%だったことがあります.
>  WindowsNT+Visual C でした. 確か2000年あたり.
>
>  このときは別のヒトに直して貰いました.
>  ど~やったか訊くと,
>   「明示的にOSにCPUを明け渡すように書く必要がある」
> ...とのことでした.

 確かにこの手の対処が必要そうな気がしますが、今更そこまでシリアル通信を
極めるのもどうも(^^;。

--
成岡@DTI(yn...@jade.dti.ne.jp)

0 new messages