著作一覧 |
iBUFFALO Arvel USBシリアルケーブル 1M グラファイト カラー SRC06USB(-)
会社行って見てみたら、福福電子工房さん推薦のアーベルのケーブルだった。
で、やっぱり38400bpsだとデバイス側(RS232C側)のERRがちかちかしまくる。9600bpsだと問題なし。
ちょっとこのデバイスが何物かは知ってる人は知ってるが、当然秘密なので書かないわけだが、前回困ってたときと違うのは、実際に動かすための条件がやっと揃ったってことだ。で、ダメもとで使ってみたら元気に動いてるんだ、これが。でも、ERRはちかちかちかすごい勢いで点滅を繰り返している。
これは結局、何か予期していないシグナルが立っているのは間違いないんだけど(そうじゃなきゃデバイス側のERRが点滅しているはずはない)、それ自体は悪影響を持っていないのかなぁと、思えるので(いかんとは思うがいかんともしがたい事情もあって)とりあえず様子見となりました。
でも、福福電子工房の
あなたは、テスターを持っていないハードウェア技士を信頼できますか?通信を少しでも行うのであれば、オンラインモニタは一人一台の必須ツールです。
Analyze232Cなら、一人一台オンラインモニタが実現できます。必ず用意してください。これが、通信に関係する技術者の最低条件です。
というのは、納得がいくのだよな(いや、さらに言ってしまえばオンラインモニタは作れるのが最低条件だろ? たとえばおれはLANモニタを公開してるぜ——ケーブルを作らなくても良いからだけど、というか韓非子の言葉にもあるけれど、最高の権謀術策は知っていてこれを用いないことだというのもあるわけなので、作らずに買うというのはもちろんありだけど。安いし)。というわけで、プライオリティは落とすけど、最終的には詰める予定ではある。
というわけで、通信そのものは確かにうまく行っているようです。いろいろご教示ありがとうございました。
映画化された(もう公開されたのか?)はずなのに、全然、書店でも見かけないが8巻が出てるのか。
フリージア 第8集 (IKKI COMICS)(松本 次郎)
会社の帰りに本屋に寄って買うとする。
.NET Frameworkで、SerialPortオブジェクトを使って制御しているのであった。
で、これが困った。というか運用でカバーというやつで逃げるけど。
本物のRS-232Cなら、コネクタ抜けば(当然、アクティビティタイムアウトが検出されて一度リソース解放した後)リトライしてればまた接続状態に復帰できる。
ところがどっこい。
コネクタ抜いてアクティビティタイムアウト検出するまでは良いのだが、そこでSerialPort.Closeを呼び出すと、しばらーくたってから、いきなりネイティブスレッド例外(ポートが存在しない)になってプロセスごと死亡する。
しょうがないのでAppDomain.UnhandledExceptionHandlerを設定してやるのだが、IsTerminatingがtrueだ。どうにもならない。
そこで、メッセージを出してからApplication.Restart()でプロセスごと再起動ということにした。
SerialPort.Closeを呼ばなければ良いのだろうか? でも、そうするとアクティビティタイムアウトの検出後の復帰動作を返る例外でいろいろ分岐させなきゃならなくなる。
それは良いとして、上がってくるのがUnauthorizedAccessExceptionなので、ちょっとこれをもって抜かれたとみなすのも無理があるような。
ジェズイットを見習え |