- 締切済み
シリアル通信でコマンドを送信し、戻ってきたら実行する
VB初心者です。ぜひ、お分かりになる方がいらっしゃいましたら教えて下さい。 質問1:輝度計をシリアルポートに接続し、測定実行のコマンドを送信し、測定後にOKが戻ってきたら測定結果を受信するコマンドを送って結果を受信するというプログラムをVBで作成しています。MScommを使用し、測定実行コマンドを送信後、OKが戻ってくるところまでは出来たのですが引き続き、測定結果を受信するコマンドを送っても反応がありません。やけになって2行続けて書いたらなぜか、2行目が先に実行されてしまいました! 質問2:シリアルポートが開いたらForm2を開き、フォームの色をRGB関数で0に設定、測定コマンドを送信後に結果を受信したらフォームの色を1にするということを 繰り返し、255色まで行いたいのですがFor Nextで設定しても色が変わってくれず、なぜか255の白になってしまいます。色々、調べたのですがよく分からなくて。 とてもこまっています。宜しくお願いします。 Max = 255 For i = 0 To Max r = i: g = i: b = i FrmColor.BackColor = RGB(r, g, b) Next End Sub
- みんなの回答 (8)
- 専門家の回答
みんなの回答
- Pesuko
- ベストアンサー率30% (2017/6702)
回答No.8
お礼
別の仕事が入ってしまい、しばらくVBから離れていたため、試せずお礼が遅くなってしまって申し訳ありませんでした。 細かいリソースまで作って頂いてとても感謝しています。 その後、作って頂いたリソースを元にプログラムを変更して実行した結果、正常に 動くことを確認出来ました。順番に実行するためにはどう書いて良いのかが分からず、続けて書いてしまっていたためとご指摘のとおり、コマンドの戻り時間を考慮していなかったために逆に実行されているように思い込んでしまいました。 プログラムとしては他にもまだまだ改善が必要ですがとても勉強になりました。 また、何かありましたら宜しくお願い致します。 本当に有り難うございました。