HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2022
0415
darumasancomputcで応答なしになる0未解決


darumasan

リンク

2022/4/15(Fri) 11:54:58|NO.95995

以下のような事例およびその解決方法が有りましたらお教えください。
私が作成しているプログラムは有る種のUSBデバイスとSerial通信するもので
どのCOM Portに接続されているかを最初に調べてCOM Port No.を固定します。
調べるCOM Port No.は0から順にUpしていき、目的デバイスが決められたIDを返してくるかを
順に調べて行きます。この途中で、デバイスマネージャー上で
「Bluetoothリンク経由の標準シルアル(COMx)」(Lenovo NotePCでの表示例です)となって
いるのが存在すると、computcコマンドから進まなくなりアプリは「応答なし」になります。
ちなみにこのBluetoothのポートをデバドラから無効化しておくと問題ありません。
このポートチェックするサブルーチン例は以下です。

*USB_connect_chk USB_port=0 : check_ok=0 ;preset to 0 repeat 256 ;目的のDeviceがどのCOM Portに接続されているかを探す。 com_get_buf="" comclose ;一旦closeをかける comopen cnt,"baud=19200 parity=N data=8 stop=1" if stat=1 : continue ;初期化に失敗した(未接続)ので次のPort No.の検索に進む ;stat=0で初期化OKなので求めるDeviceが接続されているかIDを問い合わせるコマンド送信する。 ;CC,01,01,CE,3Fの5byteコマンドはDeviceのID Nameを返信させるコマンド computc $cc ;<--このcomputcでフリーズして”応答なし”になる。 ;この時のCOM Port No.(=cnt)がデバイスマネージャー上で「Bluetoothリンク経由の標準シリアル(COMx)」 computc $01 computc $01 computc $ce computc $3f wait 10 comget com_get_buf , 10 ;10byteのdevice IDを取り込む wait 10 if com_get_buf=id_name { ;返信データがid_name(ID名をPreset)と同じかチェック USB_port=cnt : check_ok=1 ;目的デバイスのCOM Port No.が判明した break } loop if check_ok=1 : return dialog "USBデバイスが接続されていません!",1 return
もしかしたらコマンドの使い方の無知による不具合なのかも知れませんが
最初のcomputcで固まってしまうというのが不思議で理解できません。
他メーカーなどのBluetoothでどうなるのかは不明で、現時点でLenovoのYoga..とかいう
Note PCで初めて経験しました。
残念なのは手元にそのLenovo PCが無くて(ユーザーに返却)再確認は出来ない状態です。
何かアドバイスして頂けるようでしたら宜しくお願い致します。



この記事に返信する


記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.95995への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

ONION software Copyright 1997-2021(c) All rights reserved.