nrf24l01+ и nodeMCU(esp8266 12-e) Ошибочка компиляции

Тема в разделе "Проводная и беспроводная связь", создана пользователем Evgeniy2017, 15 июл 2019.

  1. Evgeniy2017

    Evgeniy2017 Нерд

    =) Есть nodeMCU и вот к ней хотелось бы подключить nrf24l01+ у меня версия без усилка.Скорее всего проблема с библеотекой RF24 .Вот мой код один из самых простых по части nrf.
    Код (C++):
    #include <LiquidCrystal_I2C.h>
    #include <Wire.h>
    #include <SPI.h>
    #include "nRF24L01.h"
    #include "RF24.h"
    LiquidCrystal_I2C lcd(0x27,20,4);
    RF24 radio(9,10); // "создать" модуль на пинах 9 и 10 Для Уно
        byte pipeNo;
        byte data_result[1];
    byte address[][6] = {"1Node","2Node","3Node","4Node","5Node","6Node"};  //возможные номера труб

    void setup(){
      Serial.begin(9600); //открываем порт для связи с ПК
      lcd.init();
        lcd.backlight();
      lcd.setCursor(1,0);
      lcd.print("System loading...");
      radio.begin(); //активировать модуль
      radio.setAutoAck(1);         //режим подтверждения приёма, 1 вкл 0 выкл
      radio.setRetries(0,15);     //(время между попыткой достучаться, число попыток)
      radio.enableAckPayload();    //разрешить отсылку данных в ответ на входящий сигнал
      radio.setPayloadSize(32);     //размер пакета, в байтах

      radio.openReadingPipe(1,address[0]);      //хотим слушать трубу 0
      radio.setChannel(0x60);  //выбираем канал (в котором нет шумов!)

      radio.setPALevel (RF24_PA_MAX); //уровень мощности передатчика. На выбор RF24_PA_MIN, RF24_PA_LOW, RF24_PA_HIGH, RF24_PA_MAX
      radio.setDataRate (RF24_250KBPS); //скорость обмена. На выбор RF24_2MBPS, RF24_1MBPS, RF24_250KBPS
      //должна быть одинакова на приёмнике и передатчике!
      //при самой низкой скорости имеем самую высокую чувствительность и дальность!!
     
      radio.powerUp(); //начать работу
      radio.startListening();  //начинаем слушать эфир, мы приёмный модуль
      Serial.println("All ok start listeting!");
      lcd.clear();
    }

    void loop() {                      
        while( radio.available(&pipeNo)){    // слушаем эфир со всех труб
          radio.read( &data_result, sizeof(data_result) );         // чиатем входящий сигнал            
       }
            lcd.setCursor(0,0);
            lcd.print("Room:");
            lcd.setCursor(5,0);
            lcd.print(pipeNo);
            lcd.setCursor(0,1);
            lcd.print("Temp:");
            lcd.setCursor(5,1);
            lcd.print(data_result[0]);  
    }
    !!!Ошибка не влезла по колву символов щас попробую некст сообщением кинуть!!!!!
    Так библеотке я взял с ролика


    Заранее спасибо за любую помощь =)
     
  2. Evgeniy2017

    Evgeniy2017 Нерд

    1 часть ошибки =)
    Arduino: 1.8.9 (Windows 8.1), Плата:"NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Disabled, 4M (no SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200"

    ПРЕДУПРЕЖДЕНИЕ: библиотека LiquidCrystal_I2C_V112 должна запускаться на архитектурах (avr) и может быть несовместима с вашей платой на архитектуре (esp8266).
    In file included from C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24.cpp:9:0:

    C:\Program Files (x86)\Arduino\libraries\RF24-master\nRF24L01.h:34:21: error: expected unqualified-id before numeric constant

    #define STATUS 0x07

    ^

    C:\Users\Eugene\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0/tools/sdk/include/c_types.h:76:3: note: in expansion of macro 'STATUS'

    } STATUS;

    ^

    C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24.cpp: In member function 'void RF24::setPayloadSize(uint8_t)':

    C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24.cpp:349:29: error: no matching function for call to 'min(uint8_t&, int)'

    payload_size = min(size,32);

    ^

    C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24.cpp:349:29: note: candidates are:

    In file included from c:\users\eugene\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\algorithm:62:0,

    from C:\Users\Eugene\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0\cores\esp8266/Arduino.h:257,

    from C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24_config.h:18,

    from C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24.cpp:10:

    c:\users\eugene\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algo.h:4226:5: note: template<class _Tp, class _Compare> _Tp std::min(std::initializer_list<_Tp>, _Compare)

    min(initializer_list<_Tp> __l, _Compare __comp)

    ^

    c:\users\eugene\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algo.h:4226:5: note: template argument deduction/substitution failed:

    C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24.cpp:349:29: note: mismatched types 'std::initializer_list<_Tp>' and 'unsigned char'

    payload_size = min(size,32);

    ^

    In file included from c:\users\eugene\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\algorithm:62:0,

    from C:\Users\Eugene\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0\cores\esp8266/Arduino.h:257,

    from C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24_config.h:18,

    from C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24.cpp:10:

    c:\users\eugene\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algo.h:4221:5: note: template<class _Tp> _Tp std::min(std::initializer_list<_Tp>)

    min(initializer_list<_Tp> __l)

    ^

    c:\users\eugene\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algo.h:4221:5: note: template argument deduction/substitution failed:

    C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24.cpp:349:29: note: mismatched types 'std::initializer_list<_Tp>' and 'unsigned char'

    payload_size = min(size,32);

    ^

    In file included from c:\users\eugene\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\algorithm:61:0,

    from C:\Users\Eugene\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0\cores\esp8266/Arduino.h:257,

    from C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24_config.h:18,

    from C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24.cpp:10:

    c:\users\eugene\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algobase.h:239:5: note: template<class _Tp, class _Compare> const _Tp& std::min(const _Tp&, const _Tp&, _Compare)

    min(const _Tp& __a, const _Tp& __b, _Compare __comp)

    ^

    c:\users\eugene\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algobase.h:239:5: note: template argument deduction/substitution failed:

    C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24.cpp:349:29: note: deduced conflicting types for parameter 'const _Tp' ('unsigned char' and 'int')

    payload_size = min(size,32);

    ^

    In file included from c:\users\eugene\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\algorithm:61:0,

    from C:\Users\Eugene\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0\cores\esp8266/Arduino.h:257,

    from C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24_config.h:18,

    from C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24.cpp:10:

    c:\users\eugene\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algobase.h:193:5: note: template<class _Tp> const _Tp& std::min(const _Tp&, const _Tp&)

    min(const _Tp& __a, const _Tp& __b)

    ^
     
  3. Evgeniy2017

    Evgeniy2017 Нерд

    2 часть ошибки !!!
    c:\users\eugene\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algobase.h:193:5: note: template argument deduction/substitution failed:

    C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24.cpp:349:29: note: deduced conflicting types for parameter 'const _Tp' ('unsigned char' and 'int')

    payload_size = min(size,32);

    ^

    C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24.cpp: In member function 'void RF24::writeAckPayload(uint8_t, const void*, uint8_t)':

    C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24.cpp:1051:32: error: no matching function for call to 'min(uint8_t&, int)'

    uint8_t data_len = min(len,32);

    ^

    C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24.cpp:1051:32: note: candidates are:

    In file included from c:\users\eugene\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\algorithm:62:0,

    from C:\Users\Eugene\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0\cores\esp8266/Arduino.h:257,

    from C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24_config.h:18,

    from C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24.cpp:10:

    c:\users\eugene\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algo.h:4226:5: note: template<class _Tp, class _Compare> _Tp std::min(std::initializer_list<_Tp>, _Compare)

    min(initializer_list<_Tp> __l, _Compare __comp)

    ^

    c:\users\eugene\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algo.h:4226:5: note: template argument deduction/substitution failed:

    C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24.cpp:1051:32: note: mismatched types 'std::initializer_list<_Tp>' and 'unsigned char'

    uint8_t data_len = min(len,32);

    ^

    In file included from c:\users\eugene\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\algorithm:62:0,

    from C:\Users\Eugene\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0\cores\esp8266/Arduino.h:257,

    from C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24_config.h:18,

    from C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24.cpp:10:

    c:\users\eugene\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algo.h:4221:5: note: template<class _Tp> _Tp std::min(std::initializer_list<_Tp>)

    min(initializer_list<_Tp> __l)

    ^

    c:\users\eugene\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algo.h:4221:5: note: template argument deduction/substitution failed:

    C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24.cpp:1051:32: note: mismatched types 'std::initializer_list<_Tp>' and 'unsigned char'

    uint8_t data_len = min(len,32);

    ^

    In file included from c:\users\eugene\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\algorithm:61:0,

    from C:\Users\Eugene\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0\cores\esp8266/Arduino.h:257,

    from C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24_config.h:18,

    from C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24.cpp:10:

    c:\users\eugene\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algobase.h:239:5: note: template<class _Tp, class _Compare> const _Tp& std::min(const _Tp&, const _Tp&, _Compare)

    min(const _Tp& __a, const _Tp& __b, _Compare __comp)

    ^

    c:\users\eugene\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algobase.h:239:5: note: template argument deduction/substitution failed:

    C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24.cpp:1051:32: note: deduced conflicting types for parameter 'const _Tp' ('unsigned char' and 'int')

    uint8_t data_len = min(len,32);

    ^

    In file included from c:\users\eugene\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\algorithm:61:0,

    from C:\Users\Eugene\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0\cores\esp8266/Arduino.h:257,

    from C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24_config.h:18,

    from C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24.cpp:10:

    c:\users\eugene\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algobase.h:193:5: note: template<class _Tp> const _Tp& std::min(const _Tp&, const _Tp&)

    min(const _Tp& __a, const _Tp& __b)

    ^

    c:\users\eugene\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algobase.h:193:5: note: template argument deduction/substitution failed:

    C:\Program Files (x86)\Arduino\libraries\RF24-master\RF24.cpp:1051:32: note: deduced conflicting types for parameter 'const _Tp' ('unsigned char' and 'int')

    uint8_t data_len = min(len,32);

    ^

    exit status 1
    Ошибка компиляции для платы NodeMCU 1.0 (ESP-12E Module).

    Этот отчёт будет иметь больше информации с
    включенной опцией Файл -> Настройки ->
    "Показать подробный вывод во время компиляции"
     
  4. Evgeniy2017

    Evgeniy2017 Нерд

    ПРБЛЕМА РЕШЕНА =))) Спустя 2 часа решение найдено у кого будет похожая оишбка ) качайте библеотеку тут https://iarduino.ru/file/27.html