Source lists for AD converter is explained on "Interface" No.10, CQ publishing Co.,Ltd, 2014. Source lists for DA converter is explained on "Interface" No.11, CQ publishing Co.,Ltd, 2014. 本ライブラリのADコンバータ用のソースリストについては,CQ出版社のインターフェース 2014年10月号に載っています. DAコンバータ用のソースリストについての説明は,CQ出版社のインターフェース 2014年11月号に載っています.

Dependents:   FFT_Sampling FIR_LPF_Direct FIR_LPF_Symmetry IIR_LPF ... more

Fork of SignalProcessingIO by CQpub0 Mikami

Revision:
0:a2cdffe24b67
Child:
1:c3f647a89947
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MCP4922Single.hpp	Sun Jul 13 13:22:58 2014 +0000
@@ -0,0 +1,54 @@
+//------------------------------------------------------
+// Class for 1 DAC in MCP4922 -- Header
+//
+// Default pin assign
+//      D11  SPI Master Out Slave In
+//      D13  SPI Serial Clock
+//      D10  SPL Slave Select
+//      D9   to MCP9922 LDAC pin
+//
+// Copyright (c) 2014 MIKAMI, Naoki,  2014/06/18
+//------------------------------------------------------
+
+#ifndef MCP4922_SINGLE_HPP
+#define MCP4922_SINGLE_HPP
+
+#include "mbed.h"
+
+namespace Mikami
+{
+    class Dac
+    {
+    public:
+        enum DAC { DAC_A = 0, DAC_B = 0x8000 };
+
+        // Constructor
+        Dac(DAC dac,
+            PinName mosi = SPI_MOSI,  // D11
+            PinName sclk = SPI_SCK,   // D13
+            PinName cs   = SPI_CS,    // D10
+            PinName ldac = D9,        // D9
+            int hz = 20000000);
+
+        // -1.0f <= valeu <= 1.0f
+        void Write(float value);
+        // 0 <= valeu <= 4095
+        void Write(uint16_t value);
+        
+        // generate LDAC pulse
+        void Ldac();
+
+    private:
+        uint16_t wcr_;    // write command register
+        SPI mySpi_;       // SPI object
+        DigitalOut myCs_; // for chip select
+        DigitalOut myLd_; // for LDAC
+
+        Dac(const Dac&);
+        Dac& operator=(const Dac&);
+        
+        // for use internally
+        void WriteDac(uint16_t value);
+    };
+}
+#endif  // MCP4922_SINGLE_HPP