'TIMSK' was not declared in this scope

Тема в разделе "Arduino & Shields", создана пользователем abubakar, 11 ноя 2019.

  1. abubakar

    abubakar Нерд

    Здравствуйте.
    'TIMSK' was not declared in this scope вот эта проблема
    Помогите решить эту проблему. Библиотеки стоят. Версия IDE 1.8.10. Arduino pro mini328 Скетч полностью не размещается в сообщении.
    Код (C++):
    #include <EEPROMex.h>
    #include <EEPROMVar.h>


    #define MOTOR 2    // Вибро-мотор analogRead  4
    #define TRIG 3     // Триггер датчика расстояния  1

    #define ECHO 1     // Ответный сигнал датчика расстояния  3
    #define BUTTON 0   // Кнопка переключения режимов 2
    #define BATT 4    // Вход АЦП для отслеживания заряда аккумуллятора  - 0

    #define pulse_ms 100  /* Длительность импульса мотора (мс) */

    #define frame_rate 3000     // Время, в течении которого пользователь должен ввести команду (мс)
    #define bounce_rate 10      // Интервал ожидания окончания дребезга контактов (мс)
    #define scan_rate 50  // Интервал опроса кнопки (мс)

    int L1 = 50;
    int L2 = 100;
    int L3 = 150;

    int X1 = L1;
    int X2 = L2;
    int X3 = L3;

    bool flag = 0;
    bool flag1 = 0;
    bool flag11 = 0;
    bool flag2 = 0;
    bool flag22 = 0;
    bool flag3 = 0;
    bool flag41 = 1;
    bool flag42 = 1;
    bool flag411 = 0;
    bool flag422 = 0;
    char flag5 = 0;
    bool flag6 = 0;
    bool flag7 = 0;
    bool flag8 = 0;


    #define delta  3

    int dist = 0;

    int L1a;
    int L2a;
    int L3a;

    int L1b;
    int L2b;
    int L3b;

    int low = 0;
    int t1st = 0;
    int dist1 = 0;
    int pulse1_stp = 0;
    int Level1 = 0;

    int count  = 0; // Счетчик для ответных импульсов по нажатию кнопки
    int count1 = 0; // Счетчик для ответных импульсов по нажатию кнопки
    int count2 = 0; // Счетчик для батареи
    int count3 = 0; // Счетчик для работы разрядки батарейки
    int count4 = 0; // Счетчик для опрашивания батарейки и соника
    int count5 = 0; // Счетчик для передачи импульсов с соника
    int count6 = 0;
    int count7 = 0;
    int count8 = 0;
    int count9 = 0;
    int count10 = 0;
    bool count_fading = 0; // Счетчик для возобновления оповещения низкого заряда батарейки


    int level;

    unsigned int button_scan = 0;  // Основной счётчик для кнопки
    unsigned int frame = 0;        // Счётчик временного окна ввода команды

    int fading = 200; // Скважность импульса
    bool time_for_button = 0;  // Условие для приостановки других функций, если кнопка была нажата
    bool time_for_batt = 0;

    char battl = 0;  // Уровень заряда батарейки

    #define reminder 60000 // Напоминание о разряженной батарейки (Период в мс) 10000

    char order = 0;        // Команда
    bool pressed = false;  // Флаг нажатия на кнопку
    bool released = true;  // Флаг отпускания кнопки
    bool input = false;    // Флаг начала ввода

    #define addres 125

    char readed = 0;
    char order1 = 0;

    int dynamic = 205;
    bool opros = 0;
    bool opros1 = 0;
    char value;

    void setup()
    {

      DDRB = 0x00; //INICIALIZACIA PORTA
      PORTB = 0x01; //PULLUP P2
      pinMode(BUTTON, INPUT);
      pinMode(TRIG, OUTPUT);
      pinMode(ECHO, INPUT);
      pinMode(BATT, OUTPUT);
      Timer0_Init(64, 1);
      pulse1_stp = 1;

    }



    void Timer0_Init(int prescaler1, int prescaler2)
    {
      switch (prescaler1)
      {

        case (64):     TCCR0B = 0<<CS02 | 1<<CS01 | 1<<CS00; break;   // CLK

      }
      TIMSK = 1<<TOIE0;  // Overflov interrupt enabled
      t1st = 255 - prescaler2;
      TCNT0 = t1st;       // Start count value
      sei();
    }

     
    продолжение в файле
     

    Вложения:

    • Cane_proba.ino
      Размер файла:
      14,1 КБ
      Просмотров:
      239
    Последнее редактирование: 11 ноя 2019
  2. NikitOS

    NikitOS Король шутов Администратор

    А в чем проблема?
    [​IMG]
     
    abubakar нравится это.
  3. DetSimen

    DetSimen Guest

    Камень какой?
     
  4. abubakar

    abubakar Нерд

    'TIMSK' was not declared in this scope
     
  5. abubakar

    abubakar Нерд

    'TIMSK' was not declared in this scope
     
  6. NikitOS

    NikitOS Король шутов Администратор

    А что будет, если написать это в гугл переводчик, и сделать так, чтобы ошибки не возникло?
     
  7. abubakar

    abubakar Нерд

    где и как объявить?
     
  8. parovoZZ

    parovoZZ Гуру

    в любом месте, но да начала упоминания TIMSK. Принято объявлять в самом начале файла, чтобы легче читалось.
     
    Airbus нравится это.
  9. Airbus

    Airbus Радиохулиган Модератор

    TIMSK не задекларирован в коде.Компилятор не понимает что это у Вас.
     
  10. parovoZZ

    parovoZZ Гуру

    да с забора. Откуда и всё с такими комментариями:
     
    NikitOS нравится это.
  11. parovoZZ

    parovoZZ Гуру

    Вот это вообще шикарно:
     
    timon, Daniil и NikitOS нравится это.
  12. abubakar

    abubakar Нерд

    expected primary-expression before '=' token
    теперь вот это
     
  13. DetSimen

    DetSimen Guest

    Вопросов больше. Не имею.
     
  14. Daniil

    Daniil Гуру

    Что за камень или плата?
    Timsk это название регистра таймера.
    У вас он где-то не объявлен, а должен быть. Скорее всего в библиотеке, описывающей используемый камушек
     
  15. parovoZZ

    parovoZZ Гуру

    ба, да у нас тут викторина!
    А варианты ответов будут?
    А звонок другу?
     
  16. akl

    akl Гуру

    если это атмега328, то там TIMSK0 вроде. Но надо учитывать, что на этом же таймере millis() работает и как оно себя поведет в случае чего неизвестно.
     
    timon и parovoZZ нравится это.
  17. abubakar

    abubakar Нерд

    Arduino pro mini328
     
  18. Airbus

    Airbus Радиохулиган Модератор

    Только щас увидел
    DDRB=0x00 //инициализация порта это круто конечно!
     
  19. timon

    timon Гик

    Вам же исчерпывающе ответили - 'TIMSK' was not declared in this scope, какие могут быть вопросы )))
     
  20. DetSimen

    DetSimen Guest

    Это не он спрашивал, вапще-то.