
AD7606 Library demo
Diff: main.cpp
- Revision:
- 2:7a0e156f2cc8
- Parent:
- 1:ca30c6307824
- Child:
- 3:0f818374b9b5
--- a/main.cpp Tue Jan 20 10:59:21 2015 +0000 +++ b/main.cpp Tue Jan 20 15:08:36 2015 +0000 @@ -20,16 +20,31 @@ Serial pc(USBTX, USBRX); AD7606 ad7606(MISO, SCLK, CS, CONVST, BUSY, RESET, 100000); -//double analogValues[8] = {0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F}; -uint16_t rawValues[8] = {0, 0, 0, 0, 0, 0, 0, 0}; -char buffer[100]; +double aValues[8] = {0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F}; +//uint16_t rawValues[8] = {0, 0, 0, 0, 0, 0, 0, 0}; +Ticker tick1; +DigitalOut greenLED(LED_GREEN); +volatile bool timerInterrupt = false; + +void timInterrupt_ISR() { + timerInterrupt = true; + greenLED = !greenLED; +} int main() { + greenLED = 1; pc.baud(115200); pc.printf("Hello, World!\r\n"); + ad7606.setDR(10.0f); + tick1.attach(timInterrupt_ISR, 0.1F); + while(1) { - ad7606.readRawValues(rawValues); - //pc.printf("%d, %d, %d, %d, %d, %d, %d, %d\r\n", rawValues[0], rawValues[1],rawValues[2],rawValues[3],rawValues[4],rawValues[5],rawValues[6],rawValues[7]); - wait_ms(100); + if (timerInterrupt) { + //ad7606.readRAW(rawValues); + //pc.printf("%d, %d, %d, %d, %d, %d, %d, %d\r\n", rawValues[0], rawValues[1], rawValues[2], rawValues[3], rawValues[4], rawValues[5], rawValues[6], rawValues[7]); + ad7606.readAnalog(aValues); + pc.printf(".3f, .3f, .3f, .3f, .3f, .3f, .3f, .3f\r\n", aValues[0], aValues[1], aValues[2], aValues[3], aValues[4], aValues[5], aValues[6], aValues[7]); + timerInterrupt = false; + } } }