Voltaje de salida con DAC (a través de I2C) - stm32

0

Me gustaría tener una salida de mi DAC programada por el STM32, utilizando el protocolo I2C. Tengo algunos problemas ...

mC: Nucleo-F303RE

DAC: MCP47FEB11A0-E / ST hoja de datos: enlace

Así es como establecí el circuito:

  • Vdd - > 5V
  • Vref - >
  • Vout - > expectativa: se supone que debo medir 5 V con el multímetro
  • NC - >
  • Vss - > GND
  • LAT0 / -HVC - >
  • SCL - > va a la SCL en la resolución STM + 4K7
  • SDA - > va a la SDA en la resolución STM + 4K7

Esto es lo que hice:

  • utilizando CubeMX, generé el proyecto habilitando los pines I2C (SCL, SDA)
  • encontré la dirección de la hoja de datos, después de cambiar y convertir tengo 0xC0 (aunque no estoy seguro de esto)
  • quería usar la función hal_i2c_isdeviceready / mem_write

En este punto, probablemente te habrás dado cuenta de que soy un principiante y no estoy muy seguro de lo que estoy haciendo. Todo lo que sé es de tutoriales / videos, pero en este momento no sé cómo proceder.

Primero me gustaría ver si la comunicación I2C está funcionando, luego use la función mem_write:

HAL_I2C_MEM_WRITE(&i2c1,
                  0xC0,
                  0x64, //because in the datasheet at the 'write' option I think this is supposed to be a command bit 00001000
                  I2C_MEMADD_SIZE_8BIT,
                  register value,
                  2,
                  100)

Después de muchos intentos, el programa no tiene errores ni salida del DAC, así que no sé cuál es el problema y cómo hacerlo funcionar.

Aquí está el enlace al código: enlace

    
pregunta jon280244

0 respuestas

Lea otras preguntas en las etiquetas