本帖最后由 ccxlslr 于 2012-6-6 09:28 编辑
其用6个通道,5V基准。
前四个通道输入电压不对。输入为10K电阻串个10K热敏电阻
用一样的温度,交换过热敏电阻,前四个通道就是不正确。正常模式,通道先择0--6
-
- //取得温度
- int16_t temp_get(unsigned char ch)
- {
- uint16_t temp;
-
- //温度
- ADMUX &= 0xF0;
- ADMUX |= ch;
- BIT_SET(ADCSRA, ADSC);
- while (!BIT_CHK(ADCSRA, ADIF));
- temp = ADCL;
- temp += ADCH << 8;
-
- BIT_SET(ADCSRA, ADIF);
- return adc_val_to_temp(temp);
- }
|