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

Committer:
CQpub0Mikami
Date:
Sun Jul 13 13:22:58 2014 +0000
Revision:
0:a2cdffe24b67
Child:
1:c3f647a89947
First version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
CQpub0Mikami 0:a2cdffe24b67 1 //------------------------------------------------------
CQpub0Mikami 0:a2cdffe24b67 2 // Class for 1 DAC in MCP4922 -- Header
CQpub0Mikami 0:a2cdffe24b67 3 //
CQpub0Mikami 0:a2cdffe24b67 4 // Default pin assign
CQpub0Mikami 0:a2cdffe24b67 5 // D11 SPI Master Out Slave In
CQpub0Mikami 0:a2cdffe24b67 6 // D13 SPI Serial Clock
CQpub0Mikami 0:a2cdffe24b67 7 // D10 SPL Slave Select
CQpub0Mikami 0:a2cdffe24b67 8 // D9 to MCP9922 LDAC pin
CQpub0Mikami 0:a2cdffe24b67 9 //
CQpub0Mikami 0:a2cdffe24b67 10 // Copyright (c) 2014 MIKAMI, Naoki, 2014/06/18
CQpub0Mikami 0:a2cdffe24b67 11 //------------------------------------------------------
CQpub0Mikami 0:a2cdffe24b67 12
CQpub0Mikami 0:a2cdffe24b67 13 #ifndef MCP4922_SINGLE_HPP
CQpub0Mikami 0:a2cdffe24b67 14 #define MCP4922_SINGLE_HPP
CQpub0Mikami 0:a2cdffe24b67 15
CQpub0Mikami 0:a2cdffe24b67 16 #include "mbed.h"
CQpub0Mikami 0:a2cdffe24b67 17
CQpub0Mikami 0:a2cdffe24b67 18 namespace Mikami
CQpub0Mikami 0:a2cdffe24b67 19 {
CQpub0Mikami 0:a2cdffe24b67 20 class Dac
CQpub0Mikami 0:a2cdffe24b67 21 {
CQpub0Mikami 0:a2cdffe24b67 22 public:
CQpub0Mikami 0:a2cdffe24b67 23 enum DAC { DAC_A = 0, DAC_B = 0x8000 };
CQpub0Mikami 0:a2cdffe24b67 24
CQpub0Mikami 0:a2cdffe24b67 25 // Constructor
CQpub0Mikami 0:a2cdffe24b67 26 Dac(DAC dac,
CQpub0Mikami 0:a2cdffe24b67 27 PinName mosi = SPI_MOSI, // D11
CQpub0Mikami 0:a2cdffe24b67 28 PinName sclk = SPI_SCK, // D13
CQpub0Mikami 0:a2cdffe24b67 29 PinName cs = SPI_CS, // D10
CQpub0Mikami 0:a2cdffe24b67 30 PinName ldac = D9, // D9
CQpub0Mikami 0:a2cdffe24b67 31 int hz = 20000000);
CQpub0Mikami 0:a2cdffe24b67 32
CQpub0Mikami 0:a2cdffe24b67 33 // -1.0f <= valeu <= 1.0f
CQpub0Mikami 0:a2cdffe24b67 34 void Write(float value);
CQpub0Mikami 0:a2cdffe24b67 35 // 0 <= valeu <= 4095
CQpub0Mikami 0:a2cdffe24b67 36 void Write(uint16_t value);
CQpub0Mikami 0:a2cdffe24b67 37
CQpub0Mikami 0:a2cdffe24b67 38 // generate LDAC pulse
CQpub0Mikami 0:a2cdffe24b67 39 void Ldac();
CQpub0Mikami 0:a2cdffe24b67 40
CQpub0Mikami 0:a2cdffe24b67 41 private:
CQpub0Mikami 0:a2cdffe24b67 42 uint16_t wcr_; // write command register
CQpub0Mikami 0:a2cdffe24b67 43 SPI mySpi_; // SPI object
CQpub0Mikami 0:a2cdffe24b67 44 DigitalOut myCs_; // for chip select
CQpub0Mikami 0:a2cdffe24b67 45 DigitalOut myLd_; // for LDAC
CQpub0Mikami 0:a2cdffe24b67 46
CQpub0Mikami 0:a2cdffe24b67 47 Dac(const Dac&);
CQpub0Mikami 0:a2cdffe24b67 48 Dac& operator=(const Dac&);
CQpub0Mikami 0:a2cdffe24b67 49
CQpub0Mikami 0:a2cdffe24b67 50 // for use internally
CQpub0Mikami 0:a2cdffe24b67 51 void WriteDac(uint16_t value);
CQpub0Mikami 0:a2cdffe24b67 52 };
CQpub0Mikami 0:a2cdffe24b67 53 }
CQpub0Mikami 0:a2cdffe24b67 54 #endif // MCP4922_SINGLE_HPP