FLProg: Дерево проекта

За простотой интерфейса “Дерева проекта” скрываются большие возмо;ности. Начнём изучать весь функционал, который заложил автор программы в эту часть программы.

Контроллер 1

Здесь показан выбранный нами контроллер.

Автонастройка Arduino IDE

Содержит три пункта

  • Нет.
  • По умолчанию.
  • Собственные.

При выборе пункта Собственные, открывается окно диалога.

Выполнив все шаги мы можем понять на какой контроллер (тип, название и серия контроллера) настроено Arduino IDE . Или на 2 шаге, изменить настройки Arduino IDE.

Текущие преднастройки появятся в окне Автонастройки Arduino IDE.

Настройки контроллера

Содержит три пункта (или другие пункты в зависимости от типа контроллера):

  • Опорное напряжение (Aref)

Позволяет использовать внутреннее или внешнее опорное напряжение.

  • Защита от зависания

Может быть отключено или включено. При включении возможно выбрать время защиты от зависания. Надо понимать что защита от зависания программная.

При этом добавляется следующий код.

int _PWDC = 0;
void setup()
{
    pinMode(4, INPUT);
    pinMode(2, OUTPUT);
    digitalWrite(2, 0);
    TCCR2A = 0x00;
    TCCR2B =  0x07;
    TIMSK2=0x01;
    TCNT2=100;
}
void loop()
{
    _PWDC = 0;
    //Плата:1
    digitalWrite(2,  (digitalRead (4)));
}
ISR(TIMER2_OVF_vect)
{
    TCNT2=100;
    if(_PWDC >= 500)
    {
        asm volatile ("jmp 0x0000");
    }
    else
    {
        _PWDC = _PWDC+1;
    }
    ;
}

Дополнительная информация объясняющая работу от зависания

Параметры функции обработки прерываний ISR() в C

Для обработки прерываний в C мы используем функцию ISR(). В ней необходимо указать с каким прерыванием мы будем иметь дело. Далее перечислены все варианты параметра функции ISR() для микроконтроллеров ATmega328P:

  • INT0_vect – внешнее прерывание 0
  • INT1_vect – внешнее прерывание 1
  • PCINT0_vect – прерывание по изменению состояния нулевой группы выводов
  • PCINT1_vect – прерывание по изменению состояния первой группы выводов
  • PCINT2_vect – прерывание по изменению состояния второй группы выводов
  • WDT_vect – прерывание от сторожевого таймера
  • TIMER2_COMPA_vect – прерывание от таймера/счетчика T2 при совпадении с A
  • TIMER2_COMPB_vect – прерывание от таймера/счетчика T2 при совпадении с B
  • TIMER2_OVF_vect – прерывание по переполнению таймера/счетчика T2
  • TIMER1_CAPT_vect – прерывание от таймера/счетчика T1 по записи
  • TIMER1_COMPA_vect – прерывание от таймера/счетчика T1 при совпадении с A
  • TIMER1_COMPB_vect – прерывание от таймера/счетчика T1 при совпадении с B
  • TIMER1_OVF_vect – прерывание по переполнению таймера/счетчика T1
  • TIMER0_COMPA_vect – прерывание от таймера/счетчика T0 при совпадении с A
  • TIMER0_COMPB_vect – прерывание от таймера/счетчика T0 при совпадении с B
  • TIMER0_OVF_vect – прерывание по переполнению таймера/счетчика T0
  • SPI_STC_vect – прерывание по окончанию передачи модуля SPI
  • USART_RX_vect – прерыванию по окончанию приема модуля USART
  • USART_UDRE_vect – прерывание по опустошению регистра данных модуля USART
  • USART_TX_vect – прерывание по окончанию приема модуля USART
  • ADC_vect – прерывание по завершению преобразования АЦП
  • EE_READY_vect – прерывание по готовности памяти EEPROM
  • ANALOG_COMP_vect – прерывание от аналогового компаратора
  • TWI_vect – прерывание от модуля I2C (TWI)
  • SPM_READY_vect – прерывание по готовности flash памяти

Функция обработки прерывания выглядит следующим образом:

ISR(INT0_vect)

{

    //текст программы обработки прерывания

}

EEPROM

Управляет памятью. Используя внутреннюю память контроллера.

Либо присоединить внешнюю память.

При этом надо настроить Имя (необязательно), Размер в байтах, адрес (необходимо сканировать адрес в шине I2C.

При выборе контроллера типа ESP

Появляется раздел:

Настройка WiFi модуля

Имеющий три подраздела

  • Точка доступа

Этот подраздел имеет множество настроек сети точки доступа.

  • Клиент

Подраздел Клиент, имеет соответствующие настройки на стороне клиена.

  • Пользовательские параметры

Добавляет параметр со своим именем и типом переменной.

Обновление прошивки по WiFi

Позволяет обновить прошивку контроллера.