Driver for National Semiconductor ADC128Sxxx family of analog to digital converters
ADC128S.cpp@0:28addf1f4c26, 2011-02-18 (annotated)
- Committer:
- shimniok
- Date:
- Fri Feb 18 20:52:59 2011 +0000
- Revision:
- 0:28addf1f4c26
- Child:
- 1:0edd6142cd67
Initial version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
shimniok | 0:28addf1f4c26 | 1 | // ADC128S a library for the National Semiconductor ADC128S family of ADCs |
shimniok | 0:28addf1f4c26 | 2 | // |
shimniok | 0:28addf1f4c26 | 3 | // by Michael Shimniok - http://www.bot-thoughts.com/ |
shimniok | 0:28addf1f4c26 | 4 | // |
shimniok | 0:28addf1f4c26 | 5 | #include "mbed.h" |
shimniok | 0:28addf1f4c26 | 6 | #include "ADC128S.h" |
shimniok | 0:28addf1f4c26 | 7 | |
shimniok | 0:28addf1f4c26 | 8 | ADC128S::ADC128S(PinName cs, PinName mosi, PinName miso, PinName sck) : _adc(mosi, miso, sck), _cs(cs) { |
shimniok | 0:28addf1f4c26 | 9 | _adc.format(16,3); |
shimniok | 0:28addf1f4c26 | 10 | _adc.frequency(8000000); |
shimniok | 0:28addf1f4c26 | 11 | } |
shimniok | 0:28addf1f4c26 | 12 | |
shimniok | 0:28addf1f4c26 | 13 | unsigned int ADC128S::read(int channel) { |
shimniok | 0:28addf1f4c26 | 14 | unsigned int result = 0; |
shimniok | 0:28addf1f4c26 | 15 | _cs = 0; |
shimniok | 0:28addf1f4c26 | 16 | _adc.write(channel<<11); // send channel for next acquisition; XXXAAAXX XXXXXXXX |
shimniok | 0:28addf1f4c26 | 17 | result = _adc.write(channel<<11); // get next acquisition |
shimniok | 0:28addf1f4c26 | 18 | _cs = 1; |
shimniok | 0:28addf1f4c26 | 19 | |
shimniok | 0:28addf1f4c26 | 20 | return result; |
shimniok | 0:28addf1f4c26 | 21 | } |