Arduino due и modbus master
- Войдите на сайт для отправки комментариев
Пнд, 20/02/2017 - 16:54
Пытаюсь связать подуль вывода овен и ардуино DUE.
Выдает ошибку exit status 1
ошибка компиляции для платы arduino due (programming port)
<Брал такой пример
#include <SimpleModbusMaster.h> // Общая сумма доступной памяти на master устройстве, для хранения данных // не забудьте изменить макроопределение TOTAL_NO_OF_REGISTERS. Если из слейва // запрашиваешь 4 регистра, то тогда в массиве reg должно быть не меньше 4х ячеек // для хранения полученных данных. #define TOTAL_NO_OF_REGISTERS 4 // Масив пакетов modbus // Для добавления новых пакетов просто добавте ихсюда // сколько вам нужно. enum { PACKET1, PACKET2, PACKET3, PACKET4, TOTAL_NO_OF_PACKETS // эту строку неменять }; // Масив пакетов модбус Packet packets[TOTAL_NO_OF_PACKETS]; // Массив хранения содержимого принятых и передающихся регистров unsigned int regs[TOTAL_NO_OF_REGISTERS]; void setup() { // Настраиваем пакеты // Шестой параметр - это индекс ячейки в массиве, размещенном в памяти ведущего устройства, в которую будет // помещен результат или из которой будут браться данные для передачи в подчиненное устройство. В нашем коде - это массив reg // Пакет,SLAVE адрес,функция модбус,адрес регистра,количесво запрашиваемых регистров,локальный адрес регистра. modbus_construct(&packets[PACKET1], 1, READ_HOLDING_REGISTERS, 0, 1, 0); // чтение данных slave-master (slave адрес 1, регистр 0) modbus_construct(&packets[PACKET2], 1, READ_HOLDING_REGISTERS, 1, 1, 1); // чтение данных slave-master (slave адрес 1, регистр 1) // Пакет,SLAVE адрес,функция модбус,адрес регистра,данные,локальный адрес регистра. modbus_construct(&packets[PACKET3], 1, PRESET_MULTIPLE_REGISTERS, 2, 1, 2); // запись данных master-slave (slave адрес 1, регистр 2) modbus_construct(&packets[PACKET4], 1, PRESET_MULTIPLE_REGISTERS, 3, 1, 3); // запись данных master-slave (slave адрес 1, регистр 3) // инициализируем протокол модбус modbus_configure(&Serial, 115200, SERIAL_8N1, 1000, 100, 10, 2, packets, TOTAL_NO_OF_PACKETS, regs); } // конец void setup() void loop() { modbus_update(); // запуск обмена по Modbus // если пришло 255 зажигаем светодиод regs[2] = 255; // запись данных master-slave (slave адрес 1, регистр 2), запись константы regs[3] = analogRead(0); // запись данных master-slave (slave адрес 1, регистр 3), значение из аналогового входа 0 } // конец void loop()
В чем может быть проблема?
в библиотеках, как минимум неправильно установили для вашей IDE
Подскажите тогда подходящую библиатеку для due)) а то что то не найду.
Подскажите тогда подходящую библиатеку для due)) а то что то не найду.
Не подскажу, пойдите другим путём, скачайте более старую IDE и уже к ней подключите эту плату, должно заработать
Скачал 1.6.4. Там поддержки due еще нет))
Оказывается процессор у нее arm 32 бита. Моэтому жопа с библиотеками почему-то(( или я что-то не понимаю?
Скачал 1.6.4. Там поддержки due еще нет))
Оказывается процессор у нее arm 32 бита. Моэтому жопа с библиотеками почему-то(( или я что-то не понимаю?
Попробуйте скомпилировать для другой платы, когда скомпилируется, можно пробовать на DUE
Выдаёт ошибку при загрузке((
Выдаёт ошибку при загрузке((
там библиотеке 5 лет, надо думаю совсем в старой версии компилировать, потом править библиотеки чтобы заработало в 1.6.5