Analog Devices 16 channels, 1MSPS, 12bit ADC with SPI interface
You are viewing an older revision! See the latest version
Homepage
Analog Devices' AD7490 A/D converter chip is a great choice to increase ADC channels to mbed. I wrote a C++ class library, which allows multiple chips on the same SPI serial bus line.
main.cpp - usage of sequential mode
#include "mbed.h" #include "AD7490.h" DigitalOut myled(LED1); int main() { // set up SPI interface. // should be set before call AD7490 constructer SPI spi(p11,p12,p13); spi.format(16,0); spi.frequency(1000000); // construct AD7490 instances AD7490 ad1(spi, p9); AD7490 ad2(spi, p10); // start ad conversion with sequential mode ad1.sequential(); ad2.sequential(); short ad_data[32]; while(1) { myled = 1; ad1.read(&ad_data[ 0]); ad2.read(&ad_data[16]); myled = 0; for(int i=0; i<32; i++) printf("ch[%2d]: %d\n", i, ad_data[i]); puts(""); wait(1); } }
API¶
- AD7490(SPI _spi, PinName _cs);
- unsigned short convert(int ch=0);
- void convert(short data[]);
- unsigned short sequential(int ch=15);
- unsigned short read(void);
- void read(short data[]);