Несколько #ifndef против одного #endif
Мой вопрос связан с проблемой, указанной по ссылке: Существует ли какая-либо хорошо работающая основная библиотека MODBUS TCP для Arduino?
Пример библиотеки Modbus TCP master, как предложено в посте выше. Часть файла ModbusTCP.h:
#ifndef Modbus_TCPIP_h
#define Modbus_TCPIP_h
#ifndef WIZNET_W5100
#define WIZNET_W5100 0 /**< define 1 if WIZNET W5100 IC is used, otherwise 0 */
#ifndef ENC28J60
#define ENC28J60 1 /**< define 1 if ENC28J60 IC is used, otherwise 0 */
#ifndef ESP8266
#define ESP8266 0
//...Весь код заголовка
#endif // Всего одно вхождение #endif в последней строке кода заголовка! 8-|
Когда я запустил компиляцию в своей среде Arduino IDE, я получил следующую ошибку: unterminated #ifndef. Упомянутая ошибка имеет четыре появления в журнале ошибок и связана с: Modbus_TCPIP_h, WIZNET_W5100 и ENC28J60.
Что следует изменить в заголовочном файле?
@dskorupinski, 👍-1
1 ответ
▲ 0
В коде отсутствует "#endif". Должно выглядеть примерно так:
#ifndef WIZNET_W5100
#define WIZNET_W5100 0 /**< define 1 if WIZNET W5100 IC is used, otherwise 0 */
#endif
#ifndef ENC28J60
#define ENC28J60 1 /**< define 1 if ENC28J60 IC is used, otherwise 0 */
#endif
#ifndef ESP8266
#define ESP8266 0
#endif
Ура!
,
@Mikael Patel
Смотрите также:
- Есть ли хорошая рабочая библиотека MODBUS TCP master для Arduino?
- Как использовать библиотеку Modbus RTU функционального кода 6
- Как получить исходные файлы для библиотек Arduino?
- Ошибка: "недопустимое использование нестатической функции-члена" при вызове функции из моего собственного класса-метода
- Как подключить Wi-Fi Shield ESP-12E-ESP8266-UART-WIFI-Wireless-Shield к Arduino
- Основная связь Arduino ModBus RTU с проблемой измерителя мощности
- Несколько клиентских серверов через Wi-Fi
- Существуют ли библиотеки сглаживания сигналов для Arduino?