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

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

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

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

    Класть в папку со всеми библиотеками \arduino-0018\libraries\MsTimer2

    Можно и без библиотеки сделать прерывание по таймеру
    PHP код:
    volatile unsigned int tcnt2;
    void setup() 
    {
           
    TIMSK2 &= ~(1<<TOIE2); //разрешения прерывания по переполнению таймера/счетчика Т2 
        
    TCCR2A &= ~((1<<WGM21) | (1<<WGM20));// Режим работы таймера/счетчика
        
    TCCR2B &= ~(1<<WGM22);// Режим работы таймера/счетчика
        
    ASSR &= ~(1<<AS2);  //Выбор источника синхронизации таймера если AS2=0 от системного генератора
        
    tcnt2 1//  16000000/64/f=tcnt2
        
    TIMSK2 |= (1<<TOIE2);//Разрешение прерывания по переполнению Т2.
    }

    void loop() 
    {


    void MyInterupt()
    {
    //обработчик вашего прерывания
    }  
    //****************обработчик прерывания********************
    ISR(TIMER2_OVF_vect
    {
        
    TCNT2 tcnt2;
        
    MyInterupt();

    Последний раз редактировалось Chip; 08.03.2010 в 00:42.

  2. #2
    Продвинутый
    Регистрация
    23.02.2009
    Сообщений
    352
    Вес репутации
    276

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

    а такие конструкци прокатывают?

    ....
    attachInterrupt(0, MeasureSPD, RISING); //attaching intterrupt to pin D2
    ....

    while (digitalRead(2)) i++;

    я в сысле о том, можно ли привязать прерывание к ноге и потом считывать ее состояние?

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

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

    Не понял смысла? Если назначили прерывание на ногу то зачем состояние проверять? Прерывание и так сработает по изменению состояния

  4. #4
    Новичок
    Регистрация
    25.11.2010
    Возраст
    43
    Сообщений
    7
    Вес репутации
    185

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

    Цитата Сообщение от Chip Посмотреть сообщение
    Класть в папку со всеми библиотеками \arduino-0018\libraries\MsTimer2

    Можно и без библиотеки сделать прерывание по таймеру
    PHP код:
    volatile unsigned int tcnt2;
    void setup() 
    {
           
    TIMSK2 &= ~(1<<TOIE2); //разрешения прерывания по переполнению таймера/счетчика Т2 
        
    TCCR2A &= ~((1<<WGM21) | (1<<WGM20));// Режим работы таймера/счетчика
        
    TCCR2B &= ~(1<<WGM22);// Режим работы таймера/счетчика
        
    ASSR &= ~(1<<AS2);  //Выбор источника синхронизации таймера если AS2=0 от системного генератора
        
    tcnt2 1//  16000000/64/f=tcnt2
        
    TIMSK2 |= (1<<TOIE2);//Разрешение прерывания по переполнению Т2.
    }

    void loop() 
    {


    void MyInterupt()
    {
    //обработчик вашего прерывания
    }  
    //****************обработчик прерывания********************
    ISR(TIMER2_OVF_vect
    {
        
    TCNT2 tcnt2;
        
    MyInterupt();

    То, что мне нужно. Как в нем изменять частоту? например, мне нужно 500 раз в секунду исполнять мой код?

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

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

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

Ваши права

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