Nucleo-F446RE 内蔵の AD/DA を使うためのライブラリ.DA からの出力は,標本化周波数の4倍のレートで行う.  このライブラリを登録した際のプログラム: Demo_F446_AD_DA_Multirate. Library for built-in ADC and DAC in Nucleo-F446RE. Sampling rate for DAC is four times of that for ADC.

Dependencies:   Array_Matrix

Dependents:   F446_UpSampling_GraphicEqualizer F446_UpSampling_ReverbSystem F446_UpSampling_FrqShifter_Weaver Demo_F446_AD_DA_Multirate ... more

Revision:
1:abd7e93549b2
Parent:
0:2447a7d225b1
Child:
2:b55ae17ffd92
--- a/F446_Multirate.cpp	Wed May 16 01:40:50 2018 +0000
+++ b/F446_Multirate.cpp	Wed May 16 07:30:14 2018 +0000
@@ -42,9 +42,6 @@
         {1.240986E+00f, -7.647923E-01f, -1.053681E+00f, 1.0f}}; // 4段目
     const float G0 = FACTOR_*3.016500E-02f*3.918621E-01f*sqrtf(2);  // 利得定数
     interpolator_ = new IirCascade(8, HK, G0);  // 補間用フィルタの初期化
-
-    NVIC_SetPriority(ADC_IRQn, 0);      // ADC 終了割り込み:最優先
-    NVIC_SetPriority(USART2_IRQn, 1);   // USART2 割り込み:次に優先    
 }
 
 // AD 変換終了割り込みを使えるようにする
@@ -59,7 +56,6 @@
 float F446_Multirate::Input()
 {
     while (!okIn_) {}               // AD変換の結果を取り出せるまで待つ
-    NVIC_DisableIRQ(USART2_IRQn);   // Output() を実行するまで USART2 割込みを禁止
     okIn_ = false;
     return xn_;
 }
@@ -72,7 +68,6 @@
         buf_[ModCounter(indexW_)] = interpolator_->Execute(yn);
         yn = 0;     // 2回目からは補間用フィルタの入力を 0 値とする
     }
-    NVIC_EnableIRQ(USART2_IRQn);    // USART2 割込みを有効にする
 }
 
 // ADC 変換終了割り込みに対する割り込みサービス・ルーチン