PWM_PALを使用して、FTM0チャネル1、3、7でPWMを生成し、入力キャプチャ立ち上がりエッジコールバックFTM0チャネル2および6を手動で初期化します。
SDKの設定から、同じFTM0周辺機器を使用してIC_PALとPWM_PALを使用/設定できないことは明らかです。そこで、PWM_PALを使用してPWMチャネルを設定し、FTM0チャネル2および6の立ち上がりエッジを検出するために入力キャプチャを手動で初期化する方法を取りたいと思います。
それが可能かどうか、status = PWM_Init(&pwm_pal_1_instance, &pwm_pal_1_configs); PWM(1、3、および7)として設定されているチャネルにのみ影響し、FTM0の他のチャネル(2および6)は入力キャプチャ(立ち上がり/立ち下がり/立ち下がり)エッジ入力として設定できます。
これらの設定は、プロジェクトの要件に基づいて必要です。
おっしゃる通り、ICRSTビットを設定してから、他のタイマーを使用してトリガーイベントの時間を記録することはできません。あなたはそれを好きなように自由に設定することができますが、これは推奨される使用法ではなく、参照するためのそのようなルーチンはありません。
つまり、すべての入力キャプチャイベントでFTM0_COUNT FTM0で一般的に使用される0にリセットされます。
各チャネルで使用されるレジスタ CnSC があり、ICRST = 0 を設定してもFTM0_COUNT値はリセットされません。これにより、同じFTM0インスタンスを使用した入力キャプチャを使用できるようになります。
入力キャプチャには、立ち上がり/立ち下がりエッジでの割り込み呼び出しのみが必要であり、LPTMRを使用して2つの立ち上がりエッジ間のカウントを測定することで周波数を計算しています。
FTM0 1、3、および 7 に PWM 出力を持ちながら、FTM0 チャネル 2 からの入力周波数を測定するソリューションが必要です。
SDKに関連するだけでなく、FTMの機能もあります。
私の提案は、PWM出力機能と入力キャプチャ機能をそれぞれ実装するために、2つのFTMモジュールを使用する必要があるということです。
Input Capture では、キャプチャ イベントが検出されると、カウンタがリセットされ、PWM 出力に影響します。
これを行う別の方法はありますか。Cコードのみを使用してPWMとICの両方を手動で初期化している可能性があります。これを行う例はありますか?
いいえ、あなたはまだそれを達成することはできません、
いや、これはできません、
PWMとICには、それぞれ2つの異なるFTMインスタンスを使用する必要があります。