void main(){
adcData_t adc_data; //ADC Data Structure
adcData_t *adc_data_ptr = &adc_data; //ADC Data Pointer
unsigned int NumberOfChars;
uint16 trimmer_val;
uint16 hyd_pos_val;
uint16 air_pos_val;
uint32 adc_id;
adcInit();
while(1){
adcStartConversion(adcREGx, adcGroup1); //Start ADC conversion
while(!adcIsConversionComplete(adcREGx, adcGroup1)); //Wait for ADC conversion
int i;
for (i=3; i > 0; i--){
adcGetData(adcREGx, adcGroup1, adc_data_ptr); //Store conversion into ADC pointer
adc_id = adc_data_ptr->id;
switch (adc_id){
case 6:
trimmer_val = adc_data_ptr->value;
NumberOfChars = ltoa(trimmer_val,(char *)command);
sciDisplayText(sciREGx, (uint8_t*)"Trimmer: 0x", sizeof("Trimmer: 0x"));
sciSend(sciREGx, NumberOfChars, command);
sciDisplayText(sciREGx, txtCRLF, sizeof(txtCRLF));
break;
case 10:
hyd_pos_val = adc_data_ptr->value;
NumberOfChars = ltoa(hyd_pos_val,(char *)command);
sciDisplayText(sciREGx, (uint8_t*)"HYD_POS: 0x", sizeof("HYD_POS: 0x"));
sciSend(sciREGx, NumberOfChars, command);
sciDisplayText(sciREGx, txtCRLF, sizeof(txtCRLF));
break;
case 17:
air_pos_val = adc_data_ptr->value;
NumberOfChars = ltoa(air_pos_val,(char *)command);
sciDisplayText(sciREGx, (uint8_t*)"AIR_POS: 0x", sizeof("AIR_POS: 0x"));
sciSend(sciREGx, NumberOfChars, command);
sciDisplayText(sciREGx, txtCRLF, sizeof(txtCRLF));
break;
default:
sciDisplayText(sciREGx, (uint8_t*)"ADC ERROR", sizeof("ADC ERROR"));
sciDisplayText(sciREGx, txtCRLF, sizeof(txtCRLF));
break;
}
}
}
}
FIFO - spnu562: 22.2.1.9.1
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.