工具与软件:
大家好、 团队成员:
我们需要器件型号 ADS7138QRTERQ1的固件支持
如何使用 STM32 EVK 在 ADS7138QRTERQ1中选择每个通道并读取 ADC 数据。 请告知 或提供示例固件。
此致、
Ajay S
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
大家好、 团队成员:
我们需要器件型号 ADS7138QRTERQ1的固件支持
如何使用 STM32 EVK 在 ADS7138QRTERQ1中选择每个通道并读取 ADC 数据。 请告知 或提供示例固件。
此致、
Ajay S
Ajay、您好!
遗憾的是、除了寄存器定义头文件外、迄今为止、我们还没有任何针对此器件和平台的代码示例可供共享。 有关我们的当前代码示例产品、请查看我们的 GitHub 页面。
https://github.com/TexasInstruments/precision-adc-examples/
此致、
Joel
我们正在使用两个并联的 ADs7138-Q1、现在我需要在两个 Ic 中读取 AIN0 ADC 引脚、
如何逐一选择 IC 中的 AIN0 ADC 通道并正确读取 ADC 数据、
现在 、我尝试使用 IC 地址通过 I2C 直接读取、
在这里,我 也附上我的代码 ,亲切,检查和建议。
uint16_t READ_ADC ( I2C_HandleTypeDef * hi2c、 uint16_t 器件地址)
{
uint8_t 数据[10];
uint16_t ADC_value = 0;
#if 1.
如果 ( HAL_I2C_EVM Master_Receive (I2C、DEVICE_ADDRESS、DATA、2、HAL_MAX_DELAY)!= HAL_OK){
Error_Handler ();
}
#endif //将原始 I2C 数据打印到 UART
字符 uart_msg[50];
// snprintf (uart_msg、sizeof (uart_msg)、"原始 ADC 数据:0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x\r\n"、DATA[0]、DATA[1]、DATA[2]、DATA[3]、 DATA[4]、DATA[5]、DATA[6]、DATA[7]、DATA[8]、 数据[9]);
snprintf (uart_msg、 大小 (uart_msg)、"原始 ADC 数据:0x%02x 0x%02x\r\n"、DATA[0]、DATA[1]);
HAL_UART_TRANSMIT (&huart6、( uint8_t *) uart_msg、 strlen (UART_msg)、HAL_MAX_DELAY);
//组合 MSB 和 LSB
ADC_value =(DATA[0]<< 8)| DATA[1];
//adc_value = adc_value1*3.3/65535;
return ADC_Value;
}
//将 ADC 值转换为电压
悬空 ADC_TO_Voltage ( uint16_t ADC_value){
悬空 Reference_voltage = 3.3f;
悬空 分辨率= 65536.0f;// 16位分辨率
return (ADC_value * reference_voltage)/分辨率;
}
//通过 UART 打印 ADC 电压的函数
空洞 Print_ADC_VOLTAGES ( 悬空 ADC1_VOLTAGE、 悬空 ADC2_VOLTAGE){
字符 uart_msg[50];
snprintf (uart_msg、 大小 (uart_msg)、"ADC1电压:%.3f V、ADC2电压:%.3f V\r\n"、ADC1_voltage、ADC2_voltage);
HAL_UART_TRANSMIT (&huart6、( uint8_t *) uart_msg、 strlen (UART_msg)、HAL_MAX_DELAY);
}