Driver for National Semiconductor ADC128Sxxx family of analog to digital converters

ADC128S.cpp

Committer:
shimniok
Date:
2011-03-02
Revision:
1:0edd6142cd67
Parent:
0:28addf1f4c26
Child:
2:f6c4a79f2ee0

File content as of revision 1:0edd6142cd67:

// ADC128S   a library for the National Semiconductor ADC128S family of ADCs
//
// by Michael Shimniok - http://www.bot-thoughts.com/
//
#include "mbed.h"
#include "ADC128S.h"

ADC128S::ADC128S(PinName mosi, PinName miso, PinName sck, PinName cs) : _adc(mosi, miso, sck), _cs(cs) {
    _adc.format(16,3);
    _adc.frequency(8000000);
}

unsigned int ADC128S::read(int channel) {
    unsigned int result = 0;
    _cs = 0;
    _adc.write(channel<<11); // send channel for next acquisition; XXXAAAXX XXXXXXXX
    result = _adc.write(channel<<11); // get next acquisition
    _cs = 1;
    
    return result;
}