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

Committer:
MikamiUitOpen
Date:
Sun Dec 20 08:04:35 2020 +0000
Revision:
3:a1dcee67c67e
Parent:
0:85348d58f498
4

Who changed what in which revision?

UserRevisionLine numberNew 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 }