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でシミュレータ設定かどうかを確認する方法と、変更する箇所に方法
②その他、上記箇所で無限ループになる原因と対処方法
タイマの精度がいるためどうしても発信器が使いたいという状況です。
ご協力、よろしくお願いいたします。
かずさん こんにちは。
Muraといいます。
画面キャプチャ頂いているメインクロックの発信源を表示の”外部発信入力”ではなく”発信子”に設定変更して試してみて頂きましたでしょうか?
Muraさん
ご意見頂き、誠にありがとうございます。
”発信子”設定では確認しておりません。
今、使える機材が手を離れてしまったので、機材が戻り次第確認してみます。
ありがとうございました。
●発振器が発振しているか確認
イネーブルのON/OFFでOFFになっていないか。
発振器の電源電圧は合っていますか。
5V品を3.3Vで使ったりとか。
●CPUのクロック端子を間違えていないか
間違えて入力では無く出力に繋いでないか。
リカルドさん
お返事ありがとうございます。
コメントの内容は正しく設定できていると思います。
今回の回路図を、張り付けておきます。
ご指摘の点がありましたら宜しくお願いします。
かず さん、こんにちは。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で起動しております。この点は問題ないかと思います。
いろいろとご指摘いただきありがとうございます。
指摘箇所を確認しながら進めます。
リカルドです
回路はOKです。電源のジャンパーが付いていますか。電圧は供給されていますか?
発振波形をオシロで確認できなければ、少し荒い方法ですが発振電圧を直流レンジで測る方法が有ります。
発振が止まっていれば、0Vか3.3V、発振していれば1.6Vぐらいになる筈です。
エレキ専任の担当者が確認したところ、発振器を交換したらオシロで波形が確認できました。
発振器が故障していたようです。
これでソフトが動くか確認してみます。
コメント頂いた皆様
外部発振器の故障であることが原因でした。(単純な原因でした。すみません。)
皆様の助言で勉強になることも多くあり、今後に生かしたいと思います。
本当にいろいろと助言ありがとうございました。