Quantcast
Channel: Data converters
Viewing all articles
Browse latest Browse all 89873

Forum Post: RE: Anuncio8168:I can't write to the SEQ_START register.

$
0
0
Hola, No recibo ningún error, sin embargo, la salida SEQSTS no se activa en ningún momento. Tampoco cambia de canales, se queda en el 0 continuamente (lo compruebo ya que tengo el formato de datos incluyendo el ID del canal y el status). En algún momento funcionó (es decir, conseguí leer los demás canales), pero dejo de funcionar y no he cambiado ninguna configuración de los registros. Si sirve de ayuda, adjunte el código que configura los registros que consideré necesarios: // Habilite la acción de escritura en el registro de acceso para la configuración del dispositivo si (ADS8168IRHBT_writeRegister(pDevice, ADDR_REG_ACCESS, ENABLE_WR_REG) != ADS8168Correct) devuelva ADS8168Error; // 2) SDI_CNTL: Configuración de reloj de polaridad para datos de lectura SDI/SDO // Nota: por defecto (después del reinicio) el MODO de SDO sigue el protocolo seleccionado en SDI if (ADS8168IRHBT_writeRegister(pDevice, ADDR_SDI_CNTL, 0x00) ! = ADS8168Correcto) devuelve ADS8168Error; // Configurar el modo de bus SPI if (ADS8168IRHBT_writeRegister(pDevice, ADDR_SDO_CNTL1, 0x00) != ADS8168Correct) return ADS8168Error; // El SDO sigue la configuración SPI en SDI_CNTL // 3) DATA_CNTL: solo recibe los datos de la conversión si (ADS8168IRHBT_writeRegister(pDevice, ADDR_DATA_CNTL, 0x20) != ADS8168Correct) return ADS8168Error; // Datos = resultado de la conversión ADC // 4) AIN_CFG y COM_CFG: Configuración de la entrada analógica if (ADS8168IRHBT_writeRegister(pDevice, ADDR_AIN_CFG, 0x00) != ADS8168Correct) return ADS8168Error; // 0x00(h): todos los canales son individuales if (ADS8168IRHBT_writeRegister(pDevice, ADDR_COM_CFG, 0x00) != ADS8168Correct) return ADS8168Error; // 0x00(h): todos los canales individuales son de entrada única // 5) DEVICE_CFG si (ADS8168IRHBT_writeRegister(pDevice, ADDR_DEVICE_CFG, 0x02) != ADS8168Correct) devuelve ADS8168Error; // 0x00(h): bits SEQ_MODE[0:1] para el modo de secuencia automática // 6) ADDR_SDO_CNTL4: SDO-1 indica la secuencia del estado activo si (ADS8168IRHBT_writeRegister(pDevice, ADDR_SDO_CNTL4, 0x01) != ADS8168Correct) return ADS8168Error; // 7) AUTO_SEQ_CFG1: habilita los canales para la conversión si (ADS8168IRHBT_writeRegister(pDevice, ADDR_AUTO_SEQ_CFG1,0xFF) != ADS8168Correct) devuelve ADS8168Error; // 8) AUTO_SEQ_CFG2: habilita el bucle de secuencia si (ADS8168IRHBT_writeRegister(pDevice, ADDR_AUTO_SEQ_CFG2, 0x01) != ADS8168Correct) devuelve ADS8168Error;

Viewing all articles
Browse latest Browse all 89873

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>