MC9S12XEP100、Code Warrior、再配置可能なアセンブラ。
既存のプログラムを使用して XGATE で割り込みを処理できるようにするために、私は継続的に努力しており、この作業に役立つ短いテスト プログラムをいくつか作成しました。最近また壁にぶつかってしまいました。動作するテストプログラムがあります。定期的な割り込みタイマーを使用して、ECT Ch0 入力キャプチャに 20 ミリ秒の矩形波信号を生成します。現時点では、入力キャプチャが行うことは変数を増分することだけです。PIT ISR と ECT ISR はどちらも XGATE を使用しており、問題なく動作します。
私の最新のプログラムでは、信号を生成するために PIT と XGATE を使用する代わりに、CPU で RTI を使用しています。プログラムのこの部分は設計どおりに動作しますが、XGATE の ECT ISR に入ることがCANません。私はこの問題の解決に多くの時間を費やしましたが、何が間違っているのかがCANません。助けを求める時間です。
もし誰かが私のプログラムを見て、提案をしていただける時間があれば、本当にありがたいです。
よろしくお願いいたします。
ロバート
こんにちは、ラディスラフさん。
ご尽力いただき誠にありがとうございます。私も、自分が許容できると考えるよりずっと長い間、この問題と闘ってきました。あなたのコードを確認しましたが、RTI を使用して信号を生成している以外は、私が行っていることと何も違う点は見つかりませんでした。ここには見つけられない何かが隠されているSO、別の角度から問題に取り組んでみます。
これは、特定のコード部分が機能するかどうかを確認するための単なるテスト コードであるSO、重要ではありません (ただし、これをあきらめるのは嫌です)。プロジェクト コードを絶対アセンブラーから再配置可能アセンブラーに変換することに成功しました。すべての割り込みは CPU を使用して処理されます。ここで、それらを 1 つずつ XGATE にリダイレクトしてみます。たぶんこれは私にも効果があるでしょう。
よろしくお願いいたします。
ロバート
こんにちは、
私は許容範囲を超えて長い間これに格闘していたSO、ポート B を ECT Ch0 IC 機能にコネクテッドする独自のプロジェクトを作成しました。
(間違ったマルチリンク ケーブルで 2 日間を費やしました...隠れたランダムな動作の問題を見つけるのはイライラしました)
割り込みに入ることができました。コードは非常にシンプルです。SO、「10 個の違いを見つける」というゲームができました :)。あなたが私よりも成功することを祈ります。ただし、実行を開始した後はコードをチェックしていません。おそらく、次の提案でも実行されるでしょう。さらに、ECT Ch0 (立ち上がりエッジ検出) にプルダウンを設定しました。
しかし!!!! 1 つの大きな問題は (通常はフラッシュ内の XGATE を使用していたため忘れてしまいました)、XGATE の RAM の使用 CAN です。XGATE が初期化されコピーされる前にブレークポイントを設定した場合、それがどこにあるのかはどうなるのでしょうか?
提案...XGATE のセットアップが完了し、コードがコピーされた後、CPU のどこかにブレークポイントを設定します。コードがこのブレークポイントで停止したら、XGATE ウィンドウで別のブレークポイントを設定CAN。
もう 1 つの方法は、コードを実行し、一時的に停止してから、XGATE コードにブレークポイントを設定することです。
よろしくお願いいたします。
ラディスラフ