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

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers MCP4922Single.hpp Source File

MCP4922Single.hpp

00001 //------------------------------------------------------
00002 // Class for 1 DAC in MCP4922 -- Header
00003 //
00004 // Default pin assign
00005 //      D11  SPI Master Out Slave In
00006 //      D13  SPI Serial Clock
00007 //      D10  SPI Slave Select
00008 //      D9   to MCP9922 LDAC pin
00009 //
00010 // Copyright (c) 2014 MIKAMI, Naoki,  2014/06/18
00011 //------------------------------------------------------
00012 
00013 #ifndef MCP4922_SINGLE_HPP
00014 #define MCP4922_SINGLE_HPP
00015 
00016 #include "mbed.h"
00017 
00018 namespace Mikami
00019 {
00020     class Dac
00021     {
00022     public:
00023         enum DAC { DAC_A = 0, DAC_B = 0x8000 };
00024 
00025         // Constructor
00026         Dac(DAC dac,
00027             PinName mosi = SPI_MOSI,  // D11
00028             PinName sclk = SPI_SCK,   // D13
00029             PinName cs   = SPI_CS,    // D10
00030             PinName ldac = D9,        // D9
00031             int hz = 20000000);
00032 
00033         // -1.0f <= value <= 1.0f
00034         void Write(float value);
00035         // 0 <= value <= 4095
00036         void Write(uint16_t value);
00037         
00038         // generate LDAC pulse
00039         void Ldac();
00040 
00041     private:
00042         uint16_t wcr_;    // write command register
00043         SPI mySpi_;       // SPI object
00044         DigitalOut myCs_; // for chip select
00045         DigitalOut myLd_; // for LDAC
00046 
00047         Dac(const Dac&);
00048         Dac& operator=(const Dac&);
00049         
00050         // for use internally
00051         void WriteDac(uint16_t value);
00052     };
00053 }
00054 #endif  // MCP4922_SINGLE_HPP