STM32F446 の内蔵 ADC, DAC 用のライブラリ.このライブラリを登録した際のプログラム: Demo_DSP_ADDA. Library for build-in ADC and DAC in STM32F446.

Dependents:   Demo_DSP_ADDA F446_DSP_FFT_Analyzer TrG_FFT_Analyzer DSP_MultirateLinearphase ... more

Revision:
0:85348d58f498
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DSP_Dac.cpp	Thu May 21 10:42:04 2020 +0000
@@ -0,0 +1,39 @@
+//--------------------------------------------------------
+//  STM32F446 内蔵の DAC 用のクラス
+//
+//  2020/05/21, Copyright (c) 2020 MIKAMI, Naoki
+//--------------------------------------------------------
+
+#include "DSP_Dac.hpp"
+
+namespace Mikami
+{
+    // コンストラクタ
+    DspDac::DspDac(PinName pin) : DAC_(DAC)
+    {
+        // このクラスのオブジェクトの複数生成禁止のため
+        MBED_ASSERT(!created_);
+        created_ = true;
+
+        // pin に対応する DAC が存在するか確認
+        MBED_ASSERT( (pin == A2) || (pin == D13) );
+
+        // pin に対応する GPIOx_MODER をアナログ・モードに設定する
+        pin_function(pin, STM_MODE_ANALOG);
+
+        __HAL_RCC_DAC_CLK_ENABLE(); // DAC にクロックを供給する
+        // __HAL_RCC_DAC_CLK_ENABLE() の定義:stm32f4xx_hal_rcc_ex.h
+
+        if (pin == A2)
+        {
+            DAC_->CR = DAC_CR_EN1;
+            fpWrite_ = &DspDac::WriteDac1;
+        }
+        else
+        {
+            DAC_->CR = DAC_CR_EN2;
+            fpWrite_ = &DspDac::WriteDac2;
+        }
+    }
+    bool DspDac::created_ = false;
+}
\ No newline at end of file