Skip to content

Latest commit

 

History

History
43 lines (28 loc) · 1.2 KB

MCP3564_notes.md

File metadata and controls

43 lines (28 loc) · 1.2 KB

Polling Example

Delay(50) required for polling each channel because t_conv = 33ms using config:

polling:

	  uint32_t adc_lsb[4];
	  float adc_volt[4];

	  MCP3561_Channels(&hspi1, MCP3561_MUX_CH0, MCP3561_MUX_CH1);
	  HAL_Delay(50);
	  adc_lsb[0] = MCP3561_ReadADCData(&hspi1);
	  adc_volt[0] = ((float)adc_lsb[0])*2*VREF_2V5_CALIBRATED / ((float)0xffffff);
	  //printf("CH1 \t%d \t%.5f\n", (int)adc_val, adc_volts);

	  MCP3561_Channels(&hspi1, MCP3561_MUX_CH2, MCP3561_MUX_CH3);
	  HAL_Delay(50);
	  adc_lsb[1] = MCP3561_ReadADCData(&hspi1);
	  adc_volt[1] = ((float)adc_lsb[1])*2*VREF_2V5_CALIBRATED / ((float)0xffffff);
	  //printf("CH2 \t%d %.5f V\n", (int)adc_val, adc_volts);

	  MCP3561_Channels(&hspi1, MCP3561_MUX_CH4, MCP3561_MUX_CH5);
	  HAL_Delay(50);
	  adc_lsb[2] = MCP3561_ReadADCData(&hspi1);
	  adc_volt[2] = ((float)adc_lsb[2])*2*VREF_2V5_CALIBRATED / ((float)0xffffff);
	  //printf("CH3 \t%d %.5f V\n", (int)adc_val, adc_volts);

	  MCP3561_Channels(&hspi1, MCP3561_MUX_CH6, MCP3561_MUX_CH7);
	  HAL_Delay(50);
	  adc_lsb[3] = MCP3561_ReadADCData(&hspi1);
	  adc_volt[3] = ((float)adc_lsb[3])*2*VREF_2V5_CALIBRATED / ((float)0xffffff);