Two-phase sinusoidal wave generator using digital filter for ST Nucleo F401RE.

Dependencies:   UIT_ADDA mbed

Committer:
MikamiUitOpen
Date:
Thu Oct 23 00:41:02 2014 +0000
Revision:
0:5b53b74d1fb7
Child:
2:9a42515e6e21
1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:5b53b74d1fb7 1 //--------------------------------------------------------------
MikamiUitOpen 0:5b53b74d1fb7 2 // Two-phase sinusoidal wave generator
MikamiUitOpen 0:5b53b74d1fb7 3 // 2014/10/23, Copyright (c) 2014 MIKAMI, Naoki
MikamiUitOpen 0:5b53b74d1fb7 4 //--------------------------------------------------------------
MikamiUitOpen 0:5b53b74d1fb7 5
MikamiUitOpen 0:5b53b74d1fb7 6 #include "mbed.h"
MikamiUitOpen 0:5b53b74d1fb7 7
MikamiUitOpen 0:5b53b74d1fb7 8 #include "ADC_Base.hpp" // for ADC not using interrupt
MikamiUitOpen 0:5b53b74d1fb7 9 #include "DAC_MCP4922Dual.hpp" // for DAC MCP4922
MikamiUitOpen 0:5b53b74d1fb7 10 #include "ScfClockTim3.hpp" // for clock supplied to SCF
MikamiUitOpen 0:5b53b74d1fb7 11
MikamiUitOpen 0:5b53b74d1fb7 12 #include "TwoPhaseGenerator.hpp" // Two-phase generator
MikamiUitOpen 0:5b53b74d1fb7 13
MikamiUitOpen 0:5b53b74d1fb7 14 using namespace Mikami;
MikamiUitOpen 0:5b53b74d1fb7 15
MikamiUitOpen 0:5b53b74d1fb7 16 const int FS_ = 12000; // 12 kHz
MikamiUitOpen 0:5b53b74d1fb7 17 ADC_Base adc_(A0, FS_);
MikamiUitOpen 0:5b53b74d1fb7 18 DAC_MCP4922Dual myDac_;
MikamiUitOpen 0:5b53b74d1fb7 19
MikamiUitOpen 0:5b53b74d1fb7 20
MikamiUitOpen 0:5b53b74d1fb7 21 int main()
MikamiUitOpen 0:5b53b74d1fb7 22 {
MikamiUitOpen 0:5b53b74d1fb7 23 TwoPhaseGenerator gen(440, (float)FS_);
MikamiUitOpen 0:5b53b74d1fb7 24 while (true)
MikamiUitOpen 0:5b53b74d1fb7 25 {
MikamiUitOpen 0:5b53b74d1fb7 26 float xn = adc_.Read(); // Read from A0
MikamiUitOpen 0:5b53b74d1fb7 27 //-----------------------------------------------
MikamiUitOpen 0:5b53b74d1fb7 28
MikamiUitOpen 0:5b53b74d1fb7 29 float cos, sin;
MikamiUitOpen 0:5b53b74d1fb7 30 gen.Generate(cos, sin);
MikamiUitOpen 0:5b53b74d1fb7 31
MikamiUitOpen 0:5b53b74d1fb7 32 //-----------------------------------------------
MikamiUitOpen 0:5b53b74d1fb7 33 myDac_.Write(cos, sin); // Write to DAC
MikamiUitOpen 0:5b53b74d1fb7 34 }
MikamiUitOpen 0:5b53b74d1fb7 35 }