2018/5/18(FRI) | 【後方排気】SI:シフトインジケーターをプログラム実装B |
---|---|
引き続きプログラム実装ですが
あとは「4)タイマー割り込み処理」だけ なんですが・・・ その前に (エンジン回転数) ÷ (速度) をするロジックから アセンブラでの割り算のアルゴリズムは 以前のをちょっと応用 アルゴリズムは過去ネタを参照のこと →【Nチビ】デジタルスピードメーターを割り算する で きっともっと効率的なアルゴリズムがあるんだろうけど まずは素直な実装にしておく 割り込み処理でこんなに処理してもいいのか不安ですが・・・ 単純な割り算なのにこんなに処理が掛かります そして「4)タイマー割り込み処理」の本体。 ギアの特定ロジックがバカロジックでスミマセン・・・ ここもわかりやずくが優先。 処理速度やスタックやメモリの使用量はあとまわし。 こっちだけでも割り込みで処理しすぎのような気がします あ、 あと変数宣言に割り算で使う変数を追加しておかないと 定数の宣言も 各ギアの算数から求めた定数です。 (エンジン回転数) ÷ (速度) が 17だったら1速 6だったら6速といった感じ 小数点以下切り捨てちゃっているから 境界値で誤ったギアを示すかな??? ちょっと心配。 そしたらまたアルゴリズムから考え直しかな? ということで 一通りプログラムもできたかな? まだコンパイルしてないけど。 実際は段階的に実装していくつもりです。 こんだけアセンブラで長いと どこが悪いかわからなくなるから。 次はブレッドボードかな? |