Страница 7 из 8 ПерваяПервая 12345678 ПоследняяПоследняя
Показано с 61 по 70 из 73

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Продвинутый
    Регистрация
    19.02.2010
    Возраст
    47
    Сообщений
    244
    Вес репутации
    238

    По умолчанию Re: Прерывания в Arduino.

    Я бы в обработчике прерывания выключал прерывание на момент обработки:

    PHP код:
    void  int_on() 

      
    detachInterrupt(int_on);
      
    digitalWrite(13, (output==HIGH) ? output=LOW output=HIGH); 
      
    pulse++; 
      
    attachInterrupt(0int_onFALLING);


  2. #2
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: Прерывания в Arduino.

    Лучше поставить конденсатор 0,1мкф параллельно геркону

  3. #3
    Пользователь
    Регистрация
    05.03.2009
    Сообщений
    29
    Вес репутации
    207

    По умолчанию Re: Прерывания в Arduino.

    Сегодня провел испытание на автомобиле: примерно 8 импульсов за 1 оборот колеса. Что получается ~ 31см/ на импульс. Можно начинать писать спидометр. Как раз пригодится MsTimer2

  4. #4
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: Прерывания в Arduino.

    Тебе импульсы считать нужно?
    Последний раз редактировалось Chip; 20.09.2012 в 10:54.

  5. #5
    Новичок
    Регистрация
    21.01.2013
    Сообщений
    3
    Вес репутации
    0

    По умолчанию Re: Прерывания в Arduino.

    Специально зарегистрировался на этом форуме, т.к. сколько я лазил лазил по рус. инету, спецом по Ардуине Chip наверно в 5терку лучших вошел бы.

    Хотел у вас спросить. Сам я фермер, жизнь заставила писать для МК разнообразные программы для хозяйства, т.к. нужна гибкость и получение того, что мне конкретно от МК нужно. Раньше я писал проги на асемблере под пики, но когда код получался под 16000 команд написанных руками, мозг начал просить пощады (т.к .в памяти нужно было хранить для чего то для чего это).
    В начале я скачал прогу Флоукоде и за 1н день написал простую прогу (терморегулятор + димер) для неизвестного мне контроллера и оно все заработало.

    Потом купил Ардуино на атмеге 2560, довольно быстро получилось прикрутить символьный ЖКИ, датчики DHT, а потом если честно - разочарование, потому как не могу разобраться с критичными для моих применений вещами:

    1. Как пользоваться кучей таймеров атмеги 2560 и пользоваться их прерываниями?
    2. Почему DHT датчики так сильно тормозят на ардуино?

    мне вот что в хозяйстве, в основном нужно - работа с АЦП, димеры - плавные регулировки напряжения для вентиляции, освещения, насосов отопления, т.е. обычное фазовое управление на симисторы. На пике это в пол тыка делалось прерываниями, по убыванию фронта на INT и (желательно быстрый) отсчет таймера, на каждый симистор должен работать отдельный таймер (обычно были задействованы все 4ре таймера) , все это крутилось себе в прерываниях и особо не тормозило работу основной программы, можно было спокойно себе лазить в меню, изменять параметры.

    А сколько я видел примеров скетчей на ардуино - все идет через делей (!?) что за изврат??? или 1н единственный таймер №2

    В английском я не очень, по пикам хоть есть хорошие описания на русском, полностью переведенные пдфки, а по ардуине того, что мне надо вообще не нашел .

    Поэтому только на вас у меня вся надежда.
    Последний раз редактировалось Vespen; 21.01.2013 в 03:53.

  6. #6
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: Прерывания в Arduino.

    Я извиняюсь, но мое сообщение по каким то причинам не попало сюда
    Не буду заново писать, лучше спрошу
    Может Вам примеры кода показать?

  7. #7
    Новичок
    Регистрация
    21.01.2013
    Сообщений
    3
    Вес репутации
    0

    По умолчанию Re: Прерывания в Arduino.

    Chip буду очень признателен.

    Интересуют прерывания по таймерам Атмеги 2560, установка значений в таймер (для фазовых задержек), по INT прерываниям я уже вроде разобрался. желательно чтоб без библиотек.

  8. #8
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: Прерывания в Arduino.

    Конкретно для меги я ни разу не писал, Примеры для Arduino Nano приведу
    Многоканальный Dimmer на Arduino Nano на Mega будет работать если заменить фаил Nanopins.h на cyberpins.h
    Пример использования Timer1

    Вся информация по регистрам таймеров в Datasheet есть, к сожалению переводить Ds нет времени
    но вот например нашел кое что у себя, коментарии к некоторым регистрам и флагам
    Думаю этого должно быть достаточно для самостоятельного изучения
    Код:
    void Setup_TIMER2()
    {
        // TIMSK2 &= ~(1<<TOIE2); //разрешения прерывания по переполнению таймера/счетчика Т2   
        TCCR2A &= ~((1<<WGM21) | (1<<WGM20));// Режим работы таймера/счетчика  
        TCCR2B=((0 << CS22) | (0 << CS21) | (1 << CS20)) //Делитель 0 
        //ASSR &= ~(1<<AS2);  //Выбор источника синхронизации таймера если AS2=0 от системного генератора 
        //ASSR|=(1<<AS2); // Тактировать T2 от асинхронного генератора таймера 
        TCNT2 = TCNT2_Const; //  16000000/256/100/64=8 tcnt2=256-8=248.      
        TIMSK2 |= (1<<TOIE2);//Разрешение прерывания по переполнению Т2. 
       // TIMSK2|=(1<<OCIE2); // Разрешить прерывание по совпадению Т2.
      
    }
    
    void loop()    
    {    
    
    }   
    
    ISR(TIMER2_OVF_vect)//вектор прерывания по переполнению таймера  
    { 
        TCNT2=0; 
    } 
    
     ISR(TIMER2_COMPA_vect) //Обработчик прерывания по совпадению с OCR2
     {
        TCNT2=0; 
     }
    Последний раз редактировалось Chip; 23.01.2013 в 23:22.

  9. #9
    Новичок
    Регистрация
    21.01.2013
    Сообщений
    3
    Вес репутации
    0

    По умолчанию Re: Прерывания в Arduino.

    спасибо большое скажу откровенно по вашим материалам, материалам этого форума, можно сделать одну из сильнейших по всему русскоязычному инету ветку по ардуино.

    Огромный вам респект.

  10. #10
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: Прерывания в Arduino.

    Если что то будет не понятно, спрашивайте

Страница 7 из 8 ПерваяПервая 12345678 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •