Оптимизация Кода ( Winavr)

25-01-2014, 14:27 От: admin Посмотрели: 522
Есть у меня вот такой фот код, но что он не очень хорошо работает( Посмотрите, может я где ошибся?


#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
PORTB=0b00000000;
DDRB=0b00011111;
DDRD= 0b00100000; // шим выход
TCCR1A = (1 << COM0A1) | (1 << WGM00); // phase correct PWM mode
TCCR1B = (1 << CS01); // clock source = CLK/8, start PWM
OCR1A = 0xFF; // шим

int i, m, h, l, s;
i=0;
m=0;
h=0;
PORTB |= _BV(PB0);
while(1){
if(i==60){
m++;
if(m==60){
h++;
if(h==18){ // если прошло 18 часов
PORTB |= _BV(PB1); // Насос (вкл)
for(l=0;l<=60;l++){
OCR1A=OCR1A-2;
OCR1B=OCR1B-2; // плавное снижение оборотов куллера
_delay_ms(1000);
}
PORTB &= ~_BV(PB1); // Насос (выкл)
PORTB &= ~_BV(PB0); // Основной свет (Выкл)
}
if(h==24){ // если прошли сутки
PORTB |= _BV(PB0); // Основной свет (Вкл)
OCR1A=0xFF; // максимальные обороты куллера
OCR1B=0xFF; // максимальные обороты куллера
h=0;
}
m=0;
}
i=0;
}
if(s==1){
PORTB |= _BV(PB2); // мигалка (1 сек)
s--;
}else{
PORTB &= ~_BV(PB2); // мигалка (1 сек)
s++;
}
_delay_ms(1000);
i++;

}
}

Раздел: МК для начинающих

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться, либо войти на сайт под своим именем.

Обсудить на форуме


На момент добавления Оптимизация Кода ( Winavr) все ссылки были рабочие.
Все публикации статей, книг и журналов, представлены на этом сайте, исключительно для ознакомления,
авторские права на эти публикации принадлежат авторам статей, книг и издательствам журналов!
Подробно тут | Жалоба
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.


Опрос

Ваши предпочтения в TRX


Одинарное преобразование
Двойное преобразование
Прямое преобразование
SDR
Другое
Мне всё равно

Популярные новости
Календарь новостей
«    Май 2024    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
2728293031