Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
AnalogIO_1ch/MCP4921.hpp@0:b027da9cfc23, 2014-07-28 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Mon Jul 28 07:25:49 2014 +0000
- Revision:
- 0:b027da9cfc23
- Child:
- 1:18123753e1d0
ver.1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MikamiUitOpen | 0:b027da9cfc23 | 1 | //------------------------------------------------------ |
MikamiUitOpen | 0:b027da9cfc23 | 2 | // Class for DAC, MCP4921 |
MikamiUitOpen | 0:b027da9cfc23 | 3 | // |
MikamiUitOpen | 0:b027da9cfc23 | 4 | // Default pin assign |
MikamiUitOpen | 0:b027da9cfc23 | 5 | // D11 SPI Master Out Slave In |
MikamiUitOpen | 0:b027da9cfc23 | 6 | // D13 SPI Serial Clock |
MikamiUitOpen | 0:b027da9cfc23 | 7 | // D10 SPL Slave Select |
MikamiUitOpen | 0:b027da9cfc23 | 8 | // |
MikamiUitOpen | 0:b027da9cfc23 | 9 | // 2014/07/18, Copyright (c) 2014 MIKAMI, Naoki |
MikamiUitOpen | 0:b027da9cfc23 | 10 | //------------------------------------------------------ |
MikamiUitOpen | 0:b027da9cfc23 | 11 | |
MikamiUitOpen | 0:b027da9cfc23 | 12 | #ifndef MCP4921_HPP |
MikamiUitOpen | 0:b027da9cfc23 | 13 | #define MCP4921_HPP |
MikamiUitOpen | 0:b027da9cfc23 | 14 | |
MikamiUitOpen | 0:b027da9cfc23 | 15 | #include "mbed.h" |
MikamiUitOpen | 0:b027da9cfc23 | 16 | |
MikamiUitOpen | 0:b027da9cfc23 | 17 | namespace Mikami |
MikamiUitOpen | 0:b027da9cfc23 | 18 | { |
MikamiUitOpen | 0:b027da9cfc23 | 19 | class DacMCP4921 |
MikamiUitOpen | 0:b027da9cfc23 | 20 | { |
MikamiUitOpen | 0:b027da9cfc23 | 21 | public: |
MikamiUitOpen | 0:b027da9cfc23 | 22 | // Constructor |
MikamiUitOpen | 0:b027da9cfc23 | 23 | DacMCP4921(PinName mosi = SPI_MOSI, // D11 |
MikamiUitOpen | 0:b027da9cfc23 | 24 | PinName sclk = SPI_SCK, // D13 |
MikamiUitOpen | 0:b027da9cfc23 | 25 | PinName cs = SPI_CS, // D10 |
MikamiUitOpen | 0:b027da9cfc23 | 26 | int hz = 20000000); |
MikamiUitOpen | 0:b027da9cfc23 | 27 | |
MikamiUitOpen | 0:b027da9cfc23 | 28 | // -1.0f <= valeu <= 1.0f |
MikamiUitOpen | 0:b027da9cfc23 | 29 | void Write(float value); |
MikamiUitOpen | 0:b027da9cfc23 | 30 | // 0 <= valeu <= 4095 |
MikamiUitOpen | 0:b027da9cfc23 | 31 | void Write(uint16_t value); |
MikamiUitOpen | 0:b027da9cfc23 | 32 | // generate LDAC pulse for dual DAC |
MikamiUitOpen | 0:b027da9cfc23 | 33 | void Ldac(); |
MikamiUitOpen | 0:b027da9cfc23 | 34 | |
MikamiUitOpen | 0:b027da9cfc23 | 35 | private: |
MikamiUitOpen | 0:b027da9cfc23 | 36 | SPI mySpi_; // SPI object |
MikamiUitOpen | 0:b027da9cfc23 | 37 | DigitalOut myCs_; // for chip select |
MikamiUitOpen | 0:b027da9cfc23 | 38 | |
MikamiUitOpen | 0:b027da9cfc23 | 39 | // for use internally |
MikamiUitOpen | 0:b027da9cfc23 | 40 | void WriteDac(uint16_t value); |
MikamiUitOpen | 0:b027da9cfc23 | 41 | }; |
MikamiUitOpen | 0:b027da9cfc23 | 42 | } |
MikamiUitOpen | 0:b027da9cfc23 | 43 | #endif // MCP4921_HPP |