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

MCP4922Single.hpp

Committer:
CQpub0Mikami
Date:
2014-07-15
Revision:
1:c3f647a89947
Parent:
0:a2cdffe24b67
Child:
2:2a8a3dc3da8e

File content as of revision 1:c3f647a89947:

//------------------------------------------------------
// Class for 1 DAC in MCP4922 -- Header
//
// Default pin assign
//      D11  SPI Master Out Slave In
//      D13  SPI Serial Clock
//      D10  SPI 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