e2 studioのスマートコンフィギュレータで、外部発信入力で12MHzの発信器を設定して、そこから自動コード生成を行って、プログラムを動かそうとしています。
事前にHOCOの内部クロックで動かした徳は、プログラムは正常に動きました。
しかしながらHOCOを解除して上図の外部発信入力に変更して自動コード自動生成したプログラムを動かすと mcu_clocks.c の以下の個所で、発信安定待ちする処理で、無限に待っている状態になります。
/* WAIT_LOOP */ while(0 == SYSTEM.OSCOVFSR.BIT.MOOVF) { /* The delay period needed is to make sure that the Main clock has stabilized. If you use simulator, the flag is not set to 1, resulting in an infinite loop. */ R_BSP_NOP(); }
コメントには、メインクロックの安定待ちであることと、シミュレータを使うと1にならないので無限ループになるとの記載がありました。
シミュレータ設定はしていないと思いますが、設定箇所を失念したので確認ができません。
以下の①②に関しまして、ご意見いただけませんでしょうか?
①e2 studioでシミュレータ設定かどうかを確認する方法と、変更する箇所に方法
②その他、上記箇所で無限ループになる原因と対処方法
タイマの精度がいるためどうしても発信器が使いたいという状況です。
ご協力、よろしくお願いいたします。
かず さん、こんにちは。NoMaYと申します。Vcontに3.3Vを入れているようですけれども、以下のデータシートを見ると、Maxが3.15Vとなっていて、3.3Vと直結した場合どうなるのだろうと気になります。それで、発振器、およびマイコン、の端子にてオシロでクロックが観測出来るかどうか、その点はどうなのでしょう。ECS-TXO-3225 HCMOS TCXOecsxtal.com/store/pdf/ECS-TXO-3225.pdfなお、①e2 studioでシミュレータ設定、に関しての方は、通常は、Launchコンフィグレーションが、DebugになっているとSimulatorで起動することになりますし、HardwareDebugで起動していればエミュレータで実機で起動することになります。ご自身で#ifdef SIMのようなコードを挿入されてFITモジュールを改造されているのでなければ、(そして、ご自身のコードにも#ifdef SIMのようなものが無ければ)通常は、コンパイルしたMOTファイルに関係するものでは無いです。
NoMaYさん
コメント頂き、誠にありがとうございます。
>Vcontに3.3Vを入れているようです一応、以下のデータシートを見ると、Maxが3.15Vになっていて、3.3Vと直結した場>合どうなるのだろうか気それでは、発振器、およびマイコン、の端子にてオシロでクロックが観測出来るかどうか、そ>の点はどうでしょう
コントロール電圧は、記載の通り +3.15Vですね。回路を設計したエレキ担当者に確認します。
>なお、①e2 studioでシミュレータ設定、に関しては、通常は、LaunchConfigrationが、DebugになっているとSimulatorで>起動することになりますし、HardwareDebugで起動していれば臨んで実機で起動することになります。ご自身で#ifdef >SIMのようなコードを挿入されFITモジュールを改造しているのですが、(そして、ご自身のコードにも#ifdef SIMのよう>なものが無し)通常は、コンパイルしたMOTファイルに関係するものでは無いです。
HardwareDebugで起動しております。この点は問題ないかと思います。
いろいろとご指摘いただきありがとうございます。
指摘箇所を確認しながら進めます。
ありがとうございました。