Перейти к содержанию

Максим Окатов

Members
  • Постов

    1
  • Зарегистрирован

  • Посещение

Информация

  • Город
    Екатеринбург

Электроника

  • Стаж в электронике
    3-5 лет
  • Сфера радиоэлектроники
    Микроконтроллеры, программирование, аналоговая техника

Достижения Максим Окатов

Новичок

Новичок (1/14)

  • Месяц на форуме
  • Год на форуме
  • Неделя на форуме

Последние значки

0

Репутация

  1. Товарищи, помогите пожалуйста. Данная програмулина при нажатии на кнопку входит в функцию MinU() в которой инициализирует таймер для задержки(ждем отпустит пользователь кнопку или нет) если кнопка не отпущена то уменьшаем скважность ШИМ. проблема в выделенной красным строчке! когда count больше 3 уменьшаем скважность, но в отладчике AVR studio, Proteus и в железе не робит. Перепрыгивает действие в {} так будь-то условие не выполнено... #define F_CPU 1000000L #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> unsigned char count = 0; unsigned char a=5,s=3,b=0; //===================================Насройка таймера==================== void Timer_ini(void){ TCCR1B = (1<<CS12)|(0<<CS11)|(0<<CS10); TCNT1 = 65535-976; TIMSK |= (1<<TOIE1); count = 0; } //===========================настройка шим=========================== void PWM_ini(void){ ASSR=0x00; TCCR2=0b01101110; //На выводе OC1A единица, когда OCR1A==TCNT1, восьмибитный ШИМ OCR2=200; } //=============== void MinU(){ unsigned char i=0; Timer_ini(); while (!(PINB&0b00000010)){ if(count>2){ //Если таймер считал более двух раз _delay_ms(100); // ждем 100 мс OCR2--; // Уменьшаем скважность i=1; // были в плавном уменьшении } } if (i!=1) // если не были в плавном уменьшении { OCR2=OCR2-50; i=0; } } //======================================================= int main(void) { // Настраиваем порт D на выход DDRB = 0b00001000; PWM_ini(); //Timer_ini(); sei(); while(1) { b=a-s; if (!(PINB&0b00000010)) { MinU(); }/* //if (!(PINB&0b00000100)) //{ //PlsU(); //}*/ } return 0; } ISR (TIMER1_OVF_vect) { count++; TCNT1 = 65535-976; }
×
×
  • Создать...