| > しかし,この場合,割り込み処理をしているわけで > 無いので,CPU はフル回転します! :-)
一部,認識の間違いがありました! :-)
CPU を喰うのは確かですが,これは「補助入力」が データが来ず,待機している状態での負荷のようです。 「補助入力 2,&hex」だけでは,そこで処理が止まって データが来るのをず〜と待ち続けています。 でも,なんでこんな処理に CPU を 100% も使い切って しまうの? (@_@;
で,データが来なくてもタイムアウトして次に移る仕組 みって無いの?・・・ て言う疑問も! (^^;
そこで想像力が働きました? だったらタイムアウトさ せるオプションもあって良いのでは? (^_^)
で,次のようにすれば,CPU にもそれ程負荷をかけずに データを取得する事が出来るようです!
それとバッファリングもされているようで,msgbox 等で 処理が止まっている間もデータは受けているようです。
変数宣言 文字列{&str} \ 数値 {&bin,&key,&ret} &str=#u,&bin=#u
補助初期化 2 補助出力 2,"AT",13,10 印字開始 "log.txt"
/*loop /* &bin="" /* 補助入力 2,&bin,タイムアウト=10,終了状態=&ret /* if (&bin) /* 印字 _&bin, /* else /* 遅延 1 /* 機能キー入力 (1,1),入力待ち=しない,&key /* cond (&key=27) break /* end /*end
loop &bin="" 補助入力 2,&bin,タイムアウト=10,終了状態=&ret if (&bin=13 .or &bin=10) cond (&str) 印字 &str /*call (#文字位置(&str,"RING")), hogehoge() cond (#文字位置(&str,"RING")) \ msgbox "着信",&str,アイコン =i,ボタン指定=1,制御文字展開=しない &str="" else if (&bin) &str=&str+#jis(&bin) else 遅延 1 機能キー入力 (1,1),入力待ち=しない,&key cond (&key=27) break end end
印字終了 補助終了 2 終了
あとは初期化コマンドや,タイミングの設定の問題に, どう言ったデータが返ってくるのか,どう判定すれば 良いのか? と言った工夫は必要でしょうけど・・・
※※※※※※※※※※※※※※※※※※※※※※※ もちろん,動くか動かないかもわからない得たいの 知れないものです。決して,ベンダーに問い合わせ なんてすることの無いように! :-) ※※※※※※※※※※※※※※※※※※※※※※※
|