12bit 8ch ADC with SPI interface for STM32 Nucleo to support 16-bit words. SPI speed bumped up to 8MHz

Fork of MCP3208_Y by Michael Chuah

mcp3208.cpp

Committer:
ykuroda
Date:
2012-10-24
Revision:
0:2300f3b42cdb
Child:
1:0876e83ba21b

File content as of revision 0:2300f3b42cdb:

//
//
//
#include "mcp3208.h"


MCP3208::MCP3208(PinName mosi, PinName miso, PinName clk, PinName cs)
:   _spi(mosi,miso,clk),
    _cs(cs),
    vref(5.0)
{
    _spi.frequency(2000000);
    _spi.format(14,3);
    _cs = 1;    
}

int
MCP3208::binary(int ch)
{
    _cs = 0;
    int ret = _spi.write(0x18|ch);
    int adb = _spi.write(0);
    int dum = _spi.write(0);
    _cs = 1;
    return adb;
}

float
MCP3208::volt(int ch)
{
    return vref * binary(ch) / 4095;
}