送信側プログラムに「I」命令(IR)を追加
IR:赤外線センサー
受信側に
・IR発光器をONする命令
・命令「I」が来た際に
IR受光部を確かめて障害物があると
一回後退して
IR受光部の値によって左/右に回転する
を付加しました。
取り急ぎ作ったので割り込み処理がうまくいかず、
6回連続動作したらIR乱歩を終了するようになってます。
次のような仕組みを追加したかった・・・
無線通信の割り込みがあったら(上)
現在IR(無限)ループ中かを変数LoopOnで調べ
そうなら強制中止フラグ「Abort」を立てる
でなければ念のためAbort=0をセット
IRループ処理(下)
開始時に「LoopOn」フラグを立てる
ループ中に「Abort」フラグが立ったら
フラグ変数2個をリセットし
ループを脱出
これで行きそうに思ったんだけど、どうも割り込み処理部分が受信メッセージを横取りしてしまって、受信コマンド分岐ルーチンには入らなくなるようで。
受け取ったイベントを再リリースする方法がよくわからん。
割り込み内で受信命令分岐処理を書くしかないのか?
昼から事前学習回なので時間切れです。