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

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

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

    По умолчанию Re: а есть ли у ардуино прерывания?

    Привожу два примера прерываний.

    Ниже пример кода для Arduino, прерывание по таймеру
    В этом примере процедура flash_led будет выполнятся каждый раз по истечению 0,5 сек.
    PHP код:
    //Выполнение процедуры по прерыванию таймеру.
    #include <MsTimer2.h>
      
    static boolean output HIGH;
      
    void flash_led() //обработчик прерывания
    {
      
    digitalWrite(13, (output==HIGH) ? output=LOW output=HIGH);
    }

    void setup() {
      
    pinMode(13HIGH);

      
    MsTimer2::set(500flash_led); // 500ms период
      
    MsTimer2::start();  //включить таймер
    }

    void loop() 
    {
    //.....

    Еще один пример работы аппаратного прерывания.
    В данном примере при изменении напряжения на ножке D2
    каждый раз будет выполнятся процедура int_on
    Таких входов в Arduino всего 2 (D2,D3)
    И несколько вариантов настройки событий
    LOW - to trigger the interrupt whenever the pin is low,
    CHANGE - to trigger the interrupt whenever the pin changes value
    RISING - to trigger when the pin goes from low to high,
    FALLING - for when the pin goes from high to low.

    PHP код:
    #define PinA  2
    static boolean output HIGH;

    void setup() 
    {   
      
    pinMode(PinAINPUT); 
      
    digitalWrite(PinAHIGH);     // подключить подтягивающий резистор
      
    attachInterrupt(0int_onCHANGE);  // настроить прерывание interrupt 0 на pin 2


    void loop()
    {
    //........
    }

    // обработка прерывания
    void  int_on()
    {
    digitalWrite(13, (output==HIGH) ? output=LOW output=HIGH);

    Вложения Вложения
    Последний раз редактировалось Chip; 04.07.2011 в 12:28.

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

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

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

Ваши права

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