Показано с 1 по 10 из 73

Древовидный режим

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

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

    А длительность импульса зачем измерять?

    Вот на основе этого скетча можно сделать то что тебе нужно
    PHP код:
    #include <util/delay.h>  

    volatile unsigned int tachBuf;  
    unsigned long tachValue;  

    ISR(TIMER1_CAPT_vect)  
    {   
        
    TCNT1 0;    
        
    tachBuf ICR1+2;  
    }  
    //********************************************************************  
    void setup()      
    {    
       
    pinMode(8INPUT);  //Вход для импульсов спидометра  
       
    pinMode(6OUTPUT);//выход ШИМ  
       
    TCCR0B TCCR0B 0b11111000 5;//частота ШИМ   
       
    analogWrite(6128);  //Запустить ШИМ  
       
    digitalWrite(8HIGH); // включить подтяжку входа  
       
    Serial.begin(115200);  
       
    TIM_Init();//инициализация таймера  
      
    _delay_ms(300);  
    }    
    //********************************************************************  
    void loop()      
    {  
      
    cli();    
      
    tachValue =250000/tachBuf;  
      
    Serial.print("freq=");  
      
    Serial.println(tachValue,DEC);  
      
    tachBuf=1;  
      
    sei();  
      
    _delay_ms(300);  
    }     
    //********************************************************************  
    void TIM_Init(void)  
    {  
       
    TIMSK1=(1<<ICIE1);   
       
    TCCR1A=(0<<COM1A1)|(0<<COM1A0)|(0<<WGM11)|(0<<WGM10);    
       
    TCCR1B=(1<<ICNC1)|(1<<ICES1)|(0<<WGM13)|(0<<WGM12)|(0<<CS12)|(1<<CS11)|(1<<CS10);  
       
    TCNT1 0;                                             

    Последний раз редактировалось Chip; 11.03.2012 в 16:45.

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

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

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

Ваши права

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