LPC11C24 MCU para controlar DAC8718

1

Estoy tratando de usar un microcontrolador LPC11C24 para enviar valores digitales a un DAC8718 para convertir a un valor de voltaje analógico. Estoy intentando comunicarme a través de SPI y estoy usando mbed.h con la capacidad SPI.h para enviar un flujo de bits arbitrario al DAC. Sin embargo, no veo ninguna salida en la salida DAC. Me estoy comunicando a través de un dongle PCAN-USB. Aquí está mi código:

#include "mbed.h"

CAN can(NC, NC);
DigitalOut chipsel(P2_0);


int main() {
  // Init CAN
  can.frequency(125000);
  // Main loop
  SPI device(P2_3, P2_2, P2_1);
  device.frequency(1000000);
  device.format(16,2); // 16 bits
  chipsel = 0;
  chipsel = 1;
  float response;

  while(1) {
    response = device.write(0xFFFF);
  }
}

¿Qué hago mal y qué debo hacer para registrar los resultados en el DAC?

    
pregunta Drake

1 respuesta

1

Ya que parece que desea realizar una operación de lectura y escritura, intente esto:

#include "mbed.h"

CAN can(NC, NC);
DigitalOut chipsel(P2_0);


int main() {
// Init CAN
can.frequency(125000);
// Main loop
SPI device(P2_3, P2_2, P2_1);
device.frequency(1000000);
device.format(8,3); // 16 bits
chipsel = 0;
chipsel = 1; - remove this
float response;

while(1) {
    chipsel = 0;
    device.write(0x88FFFF); // dont need to care about response, writes max voltage to DAC0, look on page 47 and 48 of TI docs
    chipsel = 1;
    // wait some time here, not sure about wait timing here
    chipsel = 0;
    response = device.write (0xFFFFFF); // write NOP command and read data returned
    chipsel = 1;
    // do whatever with response
}

}
    
respondido por el Shardul Upadhyay

Lea otras preguntas en las etiquetas