The experiment using this program is introduced on "Interface" No.11, CQ publishing Co.,Ltd, 2014. 本プログラムを使った実験は,CQ出版社のインターフェース 2014年11月号で紹介しています.

Dependencies:   DSProcessingIO mbed

Fork of DAC_Test by CQpub0 Mikami

Committer:
CQpub0Mikami
Date:
Sun Sep 07 05:25:23 2014 +0000
Revision:
4:fa17a8063677
Parent:
2:4bd5fbc225c3
1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
CQpub0Mikami 0:f7880759a9d8 1 //--------------------------------------------------------------
CQpub0Mikami 1:339c82434d38 2 // Test program of DacDual class
CQpub0Mikami 0:f7880759a9d8 3 //
CQpub0Mikami 1:339c82434d38 4 // Copyright (c) 2014 MIKAMI, Naoki, 2014/07/14
CQpub0Mikami 0:f7880759a9d8 5 //--------------------------------------------------------------
CQpub0Mikami 0:f7880759a9d8 6
CQpub0Mikami 0:f7880759a9d8 7 #include "mbed.h"
CQpub0Mikami 1:339c82434d38 8 #include "AdcInternal.hpp"
CQpub0Mikami 0:f7880759a9d8 9 #include "MCP4922Dual.hpp"
CQpub0Mikami 0:f7880759a9d8 10
CQpub0Mikami 0:f7880759a9d8 11 using namespace Mikami;
CQpub0Mikami 0:f7880759a9d8 12
CQpub0Mikami 1:339c82434d38 13 const float FS_ = 10.0e3f; // sampling frequency: 10 kHz
CQpub0Mikami 0:f7880759a9d8 14
CQpub0Mikami 1:339c82434d38 15 Adc adc_; // default, input: A0
CQpub0Mikami 1:339c82434d38 16 DacDual dacAB_; // object of DacDual class
CQpub0Mikami 1:339c82434d38 17 Ticker timer_; // for timer interrupt
CQpub0Mikami 0:f7880759a9d8 18
CQpub0Mikami 1:339c82434d38 19 // Called every 0.1 ms
CQpub0Mikami 0:f7880759a9d8 20 void TimerIsr()
CQpub0Mikami 0:f7880759a9d8 21 {
CQpub0Mikami 1:339c82434d38 22 float value = adc_.Read(); // AD
CQpub0Mikami 0:f7880759a9d8 23
CQpub0Mikami 1:339c82434d38 24 // pin14 : Inphase
CQpub0Mikami 1:339c82434d38 25 // pin10 : Out-of-phase
CQpub0Mikami 1:339c82434d38 26 dacAB_.Write(value, -value);
CQpub0Mikami 0:f7880759a9d8 27 }
CQpub0Mikami 0:f7880759a9d8 28
CQpub0Mikami 0:f7880759a9d8 29 int main()
CQpub0Mikami 0:f7880759a9d8 30 {
CQpub0Mikami 0:f7880759a9d8 31 timer_.attach_us(&TimerIsr, 1.0e6f/FS_);
CQpub0Mikami 2:4bd5fbc225c3 32
CQpub0Mikami 1:339c82434d38 33 while (true) {} // infinite loop
CQpub0Mikami 0:f7880759a9d8 34 }