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
DSP_Dac.cpp@0:85348d58f498, 2020-05-21 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Thu May 21 10:42:04 2020 +0000
- Revision:
- 0:85348d58f498
1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MikamiUitOpen | 0:85348d58f498 | 1 | //-------------------------------------------------------- |
MikamiUitOpen | 0:85348d58f498 | 2 | // STM32F446 内蔵の DAC 用のクラス |
MikamiUitOpen | 0:85348d58f498 | 3 | // |
MikamiUitOpen | 0:85348d58f498 | 4 | // 2020/05/21, Copyright (c) 2020 MIKAMI, Naoki |
MikamiUitOpen | 0:85348d58f498 | 5 | //-------------------------------------------------------- |
MikamiUitOpen | 0:85348d58f498 | 6 | |
MikamiUitOpen | 0:85348d58f498 | 7 | #include "DSP_Dac.hpp" |
MikamiUitOpen | 0:85348d58f498 | 8 | |
MikamiUitOpen | 0:85348d58f498 | 9 | namespace Mikami |
MikamiUitOpen | 0:85348d58f498 | 10 | { |
MikamiUitOpen | 0:85348d58f498 | 11 | // コンストラクタ |
MikamiUitOpen | 0:85348d58f498 | 12 | DspDac::DspDac(PinName pin) : DAC_(DAC) |
MikamiUitOpen | 0:85348d58f498 | 13 | { |
MikamiUitOpen | 0:85348d58f498 | 14 | // このクラスのオブジェクトの複数生成禁止のため |
MikamiUitOpen | 0:85348d58f498 | 15 | MBED_ASSERT(!created_); |
MikamiUitOpen | 0:85348d58f498 | 16 | created_ = true; |
MikamiUitOpen | 0:85348d58f498 | 17 | |
MikamiUitOpen | 0:85348d58f498 | 18 | // pin に対応する DAC が存在するか確認 |
MikamiUitOpen | 0:85348d58f498 | 19 | MBED_ASSERT( (pin == A2) || (pin == D13) ); |
MikamiUitOpen | 0:85348d58f498 | 20 | |
MikamiUitOpen | 0:85348d58f498 | 21 | // pin に対応する GPIOx_MODER をアナログ・モードに設定する |
MikamiUitOpen | 0:85348d58f498 | 22 | pin_function(pin, STM_MODE_ANALOG); |
MikamiUitOpen | 0:85348d58f498 | 23 | |
MikamiUitOpen | 0:85348d58f498 | 24 | __HAL_RCC_DAC_CLK_ENABLE(); // DAC にクロックを供給する |
MikamiUitOpen | 0:85348d58f498 | 25 | // __HAL_RCC_DAC_CLK_ENABLE() の定義:stm32f4xx_hal_rcc_ex.h |
MikamiUitOpen | 0:85348d58f498 | 26 | |
MikamiUitOpen | 0:85348d58f498 | 27 | if (pin == A2) |
MikamiUitOpen | 0:85348d58f498 | 28 | { |
MikamiUitOpen | 0:85348d58f498 | 29 | DAC_->CR = DAC_CR_EN1; |
MikamiUitOpen | 0:85348d58f498 | 30 | fpWrite_ = &DspDac::WriteDac1; |
MikamiUitOpen | 0:85348d58f498 | 31 | } |
MikamiUitOpen | 0:85348d58f498 | 32 | else |
MikamiUitOpen | 0:85348d58f498 | 33 | { |
MikamiUitOpen | 0:85348d58f498 | 34 | DAC_->CR = DAC_CR_EN2; |
MikamiUitOpen | 0:85348d58f498 | 35 | fpWrite_ = &DspDac::WriteDac2; |
MikamiUitOpen | 0:85348d58f498 | 36 | } |
MikamiUitOpen | 0:85348d58f498 | 37 | } |
MikamiUitOpen | 0:85348d58f498 | 38 | bool DspDac::created_ = false; |
MikamiUitOpen | 0:85348d58f498 | 39 | } |