投げ技炸裂
2018-05-07


昨日の状態遷移図とソースコードには、よく見るとものすごい無駄があります。
それは、遷移先が違うだけで全く同じタイマー処理を3カ所でやっていることです。

そこで、今回はタイマー処理を一つにまとめてみます。
サブルーチン呼び出しなんかを使うとこれまでの苦労が台無しですので、オブジェクト指向風にいきます。

と言うわけで

まずは状態遷移図です。
外部からの指令はまず LED_CONTROL で受けますので、ここに _TIMER の処理を書いておけばアクティブなステートに関わりなくタイマー処理を行えます。

禺画像]

そして、タイムアップしたらおもむろに _TIMER を投げます。
で、アクティブなステートが受け取り可能なら受け取ってくれますし、そうでなければスルーされます。
最後にアクティブなコンディションに向かうわけですが、そこでも受け取ってもらえなければ投げっぱなしになってしまうわけですね。

今回の状態遷移図では _TIMER を受け取ることができるステートが3つあり、それ以外のステートとコンディションではスルーされます。

それではコーディングいきます

今回はパート処理の部分だけ掲載します。


続きを読む

[プログラミング]
[構造化アセンブラ]
[R8C]

コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット