Example host software code for the Maxim Integrated MAX5216/MAX5214 16-bit/14-bit SPI bus DAC. Hosted on the MAX32630FTHR FeatherWing micro-controller board.
Dependencies: MAX5216_16_Bit_DAC_SPI_Bus_Driver USBDevice max32630fthr
Diff: main.cpp
- Revision:
- 1:fe0cd2999f95
- Parent:
- 0:64aee6498091
- Child:
- 2:5f8cd1facd15
--- a/main.cpp Sun Aug 12 10:18:22 2018 +0000 +++ b/main.cpp Mon Aug 13 04:18:41 2018 +0000 @@ -48,16 +48,16 @@ // (note the calls to Thread::wait below for delays) /** * @brief Sample main program for MAX5214, MAX5216 -* @version 1.0000.0 +* @version 1.0000.1 * * @details Sample main program for MAX30101. * The prints are sent to the terminal window (9600, 8n1). -* The program sets the GPIOs to 1.8V and the program -* blinks green if it's able to communicate with -* the MAX30101, otherwise, it blinks red. +* The program sets the GPIOs to 3.3V and the program +* issues various voltages to the DAC. Then the program +* issues a Power Down Command. * To run the program, drag and drop the .bin file into the * DAPLINK folder. After it finishes flashing, cycle the power or -* reset the Pegasus after flashing by pressing the button on +* reset the Pegasus (MAX32630FTHR) after flashing by pressing the button on * the Pegasus next to the battery connector or the button * on the MAXREFDES100HDK. */ @@ -71,9 +71,9 @@ MAX5216 dac(spi, selectPin, MAX5216::MAX5216_IC); spi.format(8,0); - spi.frequency(1000000); + spi.frequency(24000000); // Use 24 MHz SPI bus - // Write a command + // Command values to the DAC dac.writeCommand(MAX5216::WrtThru_Reg, 0xFFFF); wait(1.0); gLED = LED_OFF; @@ -85,10 +85,16 @@ gLED = LED_OFF; dac.writeCommand(MAX5216::WrtThru_Reg, 0x1FFF); wait(1.0); - bLED = LED_ON; - dac.writeCommand(MAX5216::NoOp_Reg, 0xFFFF); + rLED = LED_ON; + gLED = LED_ON; + + // Issue Power Down Commands +// dac.writeCommand(MAX5216::PwrDwn_Reg, MAX5216::PwrDwnNormalOp); + dac.writeCommand(MAX5216::PwrDwn_Reg, MAX5216::PwrDwnHiZ); +// dac.writeCommand(MAX5216::PwrDwn_Reg, MAX5216::PwrDwn100K); +// dac.writeCommand(MAX5216::PwrDwn_Reg, MAX5216::PwrDwn1K); wait(2.0); - bLED = LED_OFF; + rLED = LED_OFF; while (true) { // Blink the green LED gLED = !gLED;