#1 Re: Програмування Arduino » Помилка компіляції Attiny85 » 2021-03-03 01:01:11

Закоментував кусок кода в бібліотеці ModbusRtu.h строка 388. Помилка пропала, скетч компілюється.

#3 Програмування Arduino » Помилка компіляції Attiny85 » 2021-03-01 22:28:37

tl431
відповідей: 4

Доброго дня.
Маю невеликий проект. Вирішив його запхати в Attiny85. Проект відправляє дані (температура і вологість) по протоколу Modbus Rtu на сервер Zabbix. Для плати Digispark (плата Digispark (16mhz - No USB) ) проект компілюється , но коли я вибираю в менеджері плат Attiny25/45/85 (No bootloader), то отримаю помилку при компіляції

In member function 'void Modbus::begin(long int)

Детальний звіт

Arduino: 1.8.13 (Windows 7), Плата: "ATtiny25/45/85 (No bootloader), Enabled, CPU (CPU frequency), ATtiny85, 8 MHz (internal), EEPROM retained, B.O.D. Disabled (saves power), Enabled"

In file included from C:UsersSergioDesktopSensorSensor_ATtiny85Sensor_ATtiny85.ino:2:0:

C:UsersSergioDocumentsArduinolibrariesModbus-Master-Slave-for-Arduino-master/ModbusRtu.h: In member function 'void Modbus::begin(long int)':

C:UsersSergioDocumentsArduinolibrariesModbus-Master-Slave-for-Arduino-master/ModbusRtu.h:388:17: error: 'HardwareSerial' does not name a type; did you mean 'HardwareSerial_h'?

     static_cast<HardwareSerial*>(port)->begin(u32speed);

                 ^~~~~~~~~~~~~~

                 HardwareSerial_h

C:UsersSergioDocumentsArduinolibrariesModbus-Master-Slave-for-Arduino-master/ModbusRtu.h:388:31: error: expected '>' before '*' token

     static_cast<HardwareSerial*>(port)->begin(u32speed);

                               ^

C:UsersSergioDocumentsArduinolibrariesModbus-Master-Slave-for-Arduino-master/ModbusRtu.h:388:31: error: expected '(' before '*' token

C:UsersSergioDocumentsArduinolibrariesModbus-Master-Slave-for-Arduino-master/ModbusRtu.h:388:32: error: expected primary-expression before '>' token

     static_cast<HardwareSerial*>(port)->begin(u32speed);

                                ^

C:UsersSergioDocumentsArduinolibrariesModbus-Master-Slave-for-Arduino-master/ModbusRtu.h:388:41: error: 'class Stream' has no member named 'begin'

     static_cast<HardwareSerial*>(port)->begin(u32speed);

                                         ^~~~~

C:UsersSergioDocumentsArduinolibrariesModbus-Master-Slave-for-Arduino-master/ModbusRtu.h:388:56: error: expected ')' before ';' token

     static_cast<HardwareSerial*>(port)->begin(u32speed);

                                                        ^

Декілька бібліотек було знайдено для «SoftwareSerial.h»

 Використано: C:UsersSergioAppDataLocalArduino15packagesATTinyCorehardwareavr1.5.0librariesSoftwareSerial

 Не використовується: C:UsersSergioDocumentsArduinolibrariesSoftwareSerial-master

exit status 1

Помилка компіляції для плати ATtiny25/45/85 (No bootloader).



Цей звіт міститиме більше інформації, якщо
в меню Файл -> Налаштування увімкнути опцію
"Показати докладний звіт при компіляції".

В чому моя помилка?

Підвал форуму