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
Diff: DSP_Dac.cpp
- 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