Leonardo + max485

Тема в разделе "Arduino & Shields", создана пользователем Rustam96, 17 фев 2020.

Метки:
  1. parovoZZ

    parovoZZ Гуру

    у каждого МК есть зашитый с завода ID. Как добраться - читайте даташит.
     
  2. Mr. Glorious

    Mr. Glorious Нуб

    Не в программе дело. Дело в том,что на шине RS485 не может быть двух мастеров, только один. А Вы пытаетесь нарушить закон этой
    шины. Если Вам кровь из носа иметь более одного мастера примените другой протокол,например Profibas. А в данном случае возникает
    конфликт на шине.
     
  3. parovoZZ

    parovoZZ Гуру

    Наверное, имелось ввиду, что только один передатчик в единицу времени может передавать, а остальные слушают. А так-то мастерами могут быть...да хоть все.
     
  4. Rustam96

    Rustam96 Нерд

    Опрос делаю с компьютера программой "COM Port Toolkit 4.0" код я предоставил, подключение я думаю не влияет на мастер это или нет. Вы можете дать совет?
     
  5. Rustam96

    Rustam96 Нерд

    Могу сказать однозначно что дело не в подключении (я не могу себе представить как можно не правильно подключить, тогда совсем бы не работало). У меня работают все адреса, но после перезагрузки может отвечать только 2-а адреса, а может 1. Тут проблема с кодом, возможно модули переходят в режим мастера. Пока не разобрался.
     
  6. Rustam96

    Rustam96 Нерд

    Искусственно на весь цикл поставил тайм аут.
    Код (C++):
    //Добавил переменные
    unsigned long int t_next;
    #define T_OUT 50
    void loop() {
      long int t = millis();
      if ( t_next < t ) {
        t_next = t + T_OUT;
       //Код программы который выше
      }
    }
    Пока полет нормальный.