Здравствуйте.
Столкнулся с проблемой при компиляции скетча в Arduino IDE.
Библиотеки FlprogUtilites и DHT_New установлены (лежат в папке /libraries), Arduino IDE перезапускал.
Однако при компиляции IDE выдаёт ошибку, что не может найти файлы, указанные в #include, например:
#include "flprogUtilites.h"
#include <TroykaCurrent.h>
#include "DHT_NEW.h"
DHT _dht1;
Ошибка вида:
pr4:3:10: fatal error: DHT_NEW.h: No such file or directory
#include "DHT_NEW.h"
^~~~~~~~~~~
compilation terminated.
exit status 1
DHT_NEW.h: No such file or directory
имя .h файла в библиотеке совпадает с тем, что указывается в #include
Папки библиотек присутствуют, но Arduino IDE их не подхватывает корректно.
Подскажите, пожалуйста что не так
Заранее спасибо.
Ассемблерная вставка в FLProg
-
AbbosDavranov
- Рядовой
- Сообщения: 7
- Зарегистрирован: 24 ноя 2025, 08:13
- Имя: Аббос
- Благодарил (а): 3 раза
-
dstrufanov
- Сержант
- Сообщения: 272
- Зарегистрирован: 07 янв 2024, 12:43
- Имя: Дмитрий
- Благодарил (а): 25 раз
- Поблагодарили: 68 раз
Re: Ассемблерная вставка в FLProg
У вас "New" в разных регистрах написано, может в этом проблема?AbbosDavranov писал(а): 02 фев 2026, 07:28 ... DHT_New установлены (лежат в папке /libraries)
Ошибка вида:
pr4:3:10: fatal error: DHT_NEW.h: No such file or directory
...
- montirovka
- Подполковник
- Сообщения: 1320
- Зарегистрирован: 15 фев 2021, 16:16
- Откуда: Геленджик
- Имя: Сергей
- Благодарил (а): 161 раз
- Поблагодарили: 519 раз
Re: Ассемблерная вставка в FLProg
Полный путь к библиотеке напишите. Может у вас путь неверный.AbbosDavranov писал(а): 02 фев 2026, 07:28 Здравствуйте.
Столкнулся с проблемой при компиляции скетча в Arduino IDE.
Библиотеки FlprogUtilites и DHT_New установлены (лежат в папке /libraries), Arduino IDE перезапускал.
Однако при компиляции IDE выдаёт ошибку, что не может найти файлы, указанные в #include, например:
#include "flprogUtilites.h"
#include <TroykaCurrent.h>
#include "DHT_NEW.h"
DHT _dht1;
Ошибка вида:
pr4:3:10: fatal error: DHT_NEW.h: No such file or directory
#include "DHT_NEW.h"
^~~~~~~~~~~
compilation terminated.
exit status 1
DHT_NEW.h: No such file or directory
имя .h файла в библиотеке совпадает с тем, что указывается в #include
Папки библиотек присутствуют, но Arduino IDE их не подхватывает корректно.
Подскажите, пожалуйста что не так
Заранее спасибо.
-
AbbosDavranov
- Рядовой
- Сообщения: 7
- Зарегистрирован: 24 ноя 2025, 08:13
- Имя: Аббос
- Благодарил (а): 3 раза
-
dstrufanov
- Сержант
- Сообщения: 272
- Зарегистрирован: 07 янв 2024, 12:43
- Имя: Дмитрий
- Благодарил (а): 25 раз
- Поблагодарили: 68 раз
Re: Ассемблерная вставка в FLProg
C:\Program Files (x86)\FLProg\ideV8\portable\sketchbook\libraries\
У вас конечно не именно такой может быть, но надо посмотреть
-
dstrufanov
- Сержант
- Сообщения: 272
- Зарегистрирован: 07 янв 2024, 12:43
- Имя: Дмитрий
- Благодарил (а): 25 раз
- Поблагодарили: 68 раз
Re: Ассемблерная вставка в FLProg
Появилось немного времени и вернулся к теме модбаса в той части, которая меня интересует, а именно слейв. Подправил сам блок модбаса и дискретные переменные (инпуты и койлы): Применяется просто: На основной плате размещается блок модбаса MB-SLAVE. Все слейвы принимают в свой входной буфер запрос от мастера. Если он адресован данному слейву и ошибки в CRC нет, то осуществляется запись в объявленный массив памяти или чтение из объявленного массива памяти переменных и формируется ответ. Сейчас поддерживаются функции 01, 02, 05, 15.dstrufanov писал(а): 23 янв 2026, 10:51 Не работают блоки. Прошло больше полугода, уже забыл весь алгоритм обработки, а восстанавливать сейчас нет времени. Сорри, как руки дойдут, сделаю, но пока нет
Блоки инпутов DI-SLAVE (Discrete Input Slave) читают данные на своем входе и записывают их в соответствующую ячейку памяти, блоки коилов CO-SLAVE (Coil Output Slave) читают данные из соответствующей ячейки памяти и записывают их на свой выход. Блоки инпутов и коилов могут быть и на других платах, выполняемых по условию.
Есть разночтение в количестве поддерживаемых инпутов и коилов. В блоке MB-SLAVE объявлен размер входного буфера и количество коилов и инпутов по 32, а в блоках DI-SLAVE и CO-SLAVE заданы диапазоны адресов от 0 до 255. Изначально предполагалось применение atmega328 не только в качестве слейва, но и в качестве мастера, а т.к. мастер должен хранить в своей памяти все переменные всех слейвов, то было введено ограничение в 32. В данном же случае можно исправить объявляемые размеры массивов на 256, ну или не задавать адреса инпутов и коилов больше 31.
Вот такая сейчас система работает: Три мк работают на шине CAN со своим протоколом, один из трех является шлюзом между CAN и MasterOPC с Modbus. Это обмен по RX и TX со стороны Modbus: ПС: Да, адреса слейва, инпутов и коилов задаются через параметры пользователя (кликнуть на блок). Блок слейва поддерживает скорости 9600, 19200, 38400, 76800 (задаются соответственно параметром BaudRate 9, 19, 38 и 76)
ППС: !!!Блок модбаса использует USART1, так что работает только на aimega328pb (с буквой b!!!). Если нужна работа на обычной нанке, то нужно во всех регистрах USART и векторах прерываний исправить 1 на 0
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
dstrufanov
- Сержант
- Сообщения: 272
- Зарегистрирован: 07 янв 2024, 12:43
- Имя: Дмитрий
- Благодарил (а): 25 раз
- Поблагодарили: 68 раз
Re: Ассемблерная вставка в FLProg
Сделал блок записи в холдинг-регистр слейва HO-SLAVE:
Для записи в холдинг-регистр нужно переименовать с расширением .S и добавить в папку с библиотекой функцию 06:
Обновить заголовочный файл:
И сам блок слейва:
Вот так он используется:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя