Make voltage converter
This commit is contained in:
parent
b0c0efa4fc
commit
ee6e6a6d07
@ -36,11 +36,18 @@ uint16_t ADC0_read(void) {
|
|||||||
uint16_t thermistor_voltage_read() {
|
uint16_t thermistor_voltage_read() {
|
||||||
/* Gets value for the diode */
|
/* Gets value for the diode */
|
||||||
ADC0.MUXPOS = 0x03;
|
ADC0.MUXPOS = 0x03;
|
||||||
uint8_t adc_val = ADC0_read();
|
uint16_t adc_val = ADC0_read();
|
||||||
|
|
||||||
return adc_val;
|
return adc_val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint16_t external_voltage_read(){
|
||||||
|
ADC0.MUXPOS = 0x02;
|
||||||
|
uint16_t adc_val = ADC0_read();
|
||||||
|
|
||||||
|
return adc_val;
|
||||||
|
}
|
||||||
|
|
||||||
uint16_t internal_voltage_read() {
|
uint16_t internal_voltage_read() {
|
||||||
/* Gets value for the internal voltage reffreance*/
|
/* Gets value for the internal voltage reffreance*/
|
||||||
|
|
||||||
@ -49,3 +56,13 @@ uint16_t internal_voltage_read() {
|
|||||||
|
|
||||||
return adc_val*10;
|
return adc_val*10;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint16_t convert_to_voltage(uint16_t adc_val){
|
||||||
|
uint16_t min_in= 0;
|
||||||
|
uint16_t min_out= 0;
|
||||||
|
uint16_t max_in= 1023;
|
||||||
|
uint16_t max_out= 3.3;
|
||||||
|
uint16_t voltage = (adc_val-min_in)*(max_out-min_out)/(max_in-min_in) + min_out;
|
||||||
|
return voltage;
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user