- Код: Выделить всё • Развернуть
- unsigned char read_adc(unsigned char adc_input)
 {
 ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
 // Delay needed for the stabilization of the ADC input voltage
 delay_us(10);
 // Start the AD conversion
 ADCSRA|=0x40;
 // Wait for the AD conversion to complete
 while ((ADCSRA & 0x10)==0);
 ADCSRA|=0x10;
 return ADCH;
 }
 .....
 void main(void){
 ...
 while(1){
 PORTC = read_adc(0);
 }
 }
порт C увешал светодиодами
от регулируемого источника питания подаю напряжение на GND и PA0 , мультиметр показывает 1.6 вольта. подключил к мк, все светодиоды загорелись и мк завис. попробовал напряжение подать через сопротивление 1кОм, все ок, меняю напряжение, диоды меняются, одно но сопротивление перегревается. и не совсем понятно как теперь по этим светодиодам определить какое напряжение.
когда подаю 1.6в загораются первые 4 светодиода, т.е. 0b00001111 , подаю 20в загораются 0b00111111, причем первые 3 мигают как сумасшедшие. может я что делаю не так? или так и должно быть ?







