Demo code for the MAX11301WING. Programs a +5V on Port 0, -5V on Port 1 and a single-ended ADC on Port 9.

Dependencies:   MAX113XX_Pixi max32630fthr

Fork of MAX11301_Demo by John Greene

main.cpp

Committer:
coreyharris
Date:
2017-08-17
Revision:
2:5362460b01ef
Parent:
1:c161bde4496f
Child:
3:b3fbff9ab12e

File content as of revision 2:5362460b01ef:

#include "mbed.h"
#include "max32630fthr.h"
#include "MAX113XX_Pixi.h"
#include "MAX11301Hex.h"

MAX32630FTHR pegasus(MAX32630FTHR::VIO_3V3);

int main()
{
    Serial pc(USBTX, USBRX);            // Use USB debug probe for serial link
    pc.baud(115200);                    // Baud rate = 115200
    
    I2C i2cBus(I2C1_SDA, I2C1_SCL);     // I2C bus, P3_4 = SDA, P3_5 = SCL

    MAX113XX_I2C * pixi;
    pixi = new MAX113XX_I2C(i2cBus, MAX113XX_I2C::MAX11301, 0x38, P5_5);
    
    
    uint16_t adcData, idx;
    float adcVoltage;
    while(1) {
    
        for(idx = 0; idx <= 0xFFF; idx++) {
            pixi->dacWrite(MAX113XX_Pixi::PORT0, idx);                  // Write idx to PORT0          
            pixi->singleEndedADCRead(MAX113XX_Pixi::PORT9, adcData);    // Read value from PORT9
            adcVoltage = -5 + 2.442e-3  * adcData;                      // Convert ADC val to a voltage
            pc.printf("ADC Voltage is %1.3f V, Count is 0x%x \r\n", adcVoltage, idx);  
        }
        
        pc.printf("\r\n\r\nSweep complete, starting new sweep\r\n\r\n");
        wait(2.0);       
    }
}