Показано с 1 по 9 из 9

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

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

    По умолчанию Re: Как измерить скважность ШИМ.

    Вот код, который заработал. Со второй ардуины сгенерил ШИМ (analogWrite(9, x)).

    PHP код:
    #include <TimerOne.h>

    #define LEDPIN 13        // Вывод светодиода
    #define BTNPIN 2 

    volatile uint16_t startImpuls;
    volatile uint16_t lengthImpuls;
    volatile uint16_t timerCount=0;

    void setup()
    {  
    /*
        LOW — вызов прерывания всякий раз, когда на порту низкий уровень напряжения;
        CHANGE – прерывание вызывается при изменении значения на входе;
        RISING – вызов прерывания при изменении уровня напряжения с низкого (LOW) на высокое(HIGH)
        FALLING – вызов прерывания при изменении уровня напряжения с высокого (HIGH) на низкое (LOW)
      */
      
    startImpuls=0;
      
    lengthImpuls=0;
      
      
    pinMode(BTNPININPUT);  
      
     
      
    Serial.begin(115200);
      
      
    Timer1.initialize(8);
      
    Timer1.attachInterrupt(callback);  // attaches callback() as a timer overflow interrupt

      
    attachInterrupt(0fireUpRISING);
    }
    void callback() {  timerCount++; }

    void loop()
    {
      
    //delay(1000);
      
    Serial.println(lengthImpulsDEC);
    }
    // Функция обработки прерывания на подъем
    void fireUp()
    {

      
    detachInterrupt(0);
      
    startImpuls timerCount;
      
    attachInterrupt(0fireDownFALLING);
    }

    // Функция обработки прерывания на подъем
    void fireDown()
    {
      
    detachInterrupt(0);
      
    lengthImpuls timerCount startImpuls;
      
    startImpuls=0;
      
    timerCount=0;
      
    attachInterrupt(0fireUpRISING);

    Если кто подскажет, почему именно 8 мс (нашел значение методом тыка ) надо для инициализации таймера, буду очень признателен.
    Точность измерения меня полностью устраивает.

    зы: требую памятник!

    oops1, респект! Без твоего кода из парктроника копался бы до покоса.
    zhserg, спасибо за наводку на тему!
    Последний раз редактировалось BlkDem; 13.06.2011 в 00:38.

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

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

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

Ваши права

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