いろきゅうの(元)はてなダイアリー

はてなダイアリーから移行中…

ドライバが悪いのか環境が悪いのか

マインドストームとやり取りする為に「IRタワー」があります。

こいつを、プログラムから開いて閉じるだけで*1 Windows を巻き込み固まるのはいかがなものでしょうか……('A`)

仕事にならん。

追記

clayfish さんによる情報提供により、無事問題が解決しました ! どうもありがとうございます! これで毎回「電プチ」*2をせずに済むようになり、開発スピードもアップ、精神的負荷も大幅ダウンで実に良い感じです。

余談

問題が解決したことにより、やる気復帰で書いたコード。それは、RCX機体側からIRタワーを利用したデータリアルタイム受信コード…!(そして、ちょー適当コード!)

HANDLE h = ::CreateFile("\\\\.\\legotower1");
BYTE   byBuff[1024];

// 受信したデータを読む
// byBuff には "55FF00F708" というヘッダーに続いて*3
// - RecvData
// - 0xFF - RecvData
// - Recv - 9 (*A)
// - 0xFF - (*A)
// というバイト列が続く
ReadFile(h, byBuff, 1024, &dwRead, NULL);
CloseHandle(h); // ※余談※ 今までココで固まってた

んまぁ、大体 こちらのページ に載ってることなんですが…(ぉ ^^;

*1:CreateFile して CloseHandle するだけで

*2:電源長押しによる強制シャットダウン:良い子はまねしちゃ駄目

*3:ただし、先頭から 55FF が保障されるわけではない