Jump to content

Павел Бачурин

Members
  • Content Count

    2
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Павел Бачурин

  • Rank
    Новенький

Информация

  • Город
    Ростов-на-Дону

Электроника

  • Стаж в электронике
    Менее года
  • Сфера радиоэлектроники
    хобби
  • Оборудование
    связь
  1. Да, часть ADC я не переписал, лень было в даташит лезть. Согласен, так писать нельзя
  2. Может так? #define F_CPU 4800000 #include <avr/io.h> #include <util/delay.h> #define PWR_ON PORTB|=(1<<4) #define PWR_OFF PORTB&=(~(1<<4)) #define PAUSE 10000 // пауза на выключение в миллисекундах, максимум 32000 int delayOff = 0; ADC_init() { ADMUX=1; ADCSRA =134; ACSR=128; } int main(void) { DDRB|=(1<<4); ADC_init(); while(1) { ADCSRA|=(1<<ADSC); while (! (ADCSRA & (1<<4))) if(ADCW > 450) { _delay_ms(1); if (delayOff < PAUSE) delayOff++; if (delayOff >= PAUSE) { PWR_OFF; } } else { if (ADCW < 400) { PWR_ON; delayOff = 0; } } } }
×
×
  • Create New...