Как прочитать EEPROM до модуля setup
- Войдите на сайт для отправки комментариев
Ср, 03/10/2018 - 01:22
День добрый.
нужно прочитать настройки шины модбаз инициализировав ее до модуля setup. часть кода
#include <EEPROM.h> #include <ModbusRtu.h> int SerialBaud = 9600; const byte pin_out_rs485 = 4; byte rs485_address; rs485_address = EEPROM.read(2); // аддрес устройства на шине rs485 SerialBaud = EEPROM.read(3); // аддрес устройства на шине rs485 доступно только 300, 1200, 2400, 4800, 19200, 38400, 57600. void setup() { }
Как это сделать и возможность этого чтения?
Cоздайте функию initVariant(), где опишите все необходимые вам действия. При выполнении скетча функция initVariant() будет всегда вызваться до setup().
спасибо посмотрю
получилось
#define rs485_address EEPROM.read(2) // аддрес устройства на шине rs485
сработало до строки
//конфигурация 485
Modbus slave(rs485_address,0,pin_out_rs485); // this is slave @1 and RS-232 or USB-FTDI
хотя не знаю верно ли сделал.
Откройте для себя оператор new - и не надо париться с извратами:
Ок. Спасибо.
Откройте для себя оператор new - и не надо париться с извратами:
компиляция прерываеться на строке slave->someMethod(); с ошибкой
Arduino: 1.8.1 (Windows 8.1), Плата:"Arduino/Genuino Uno"
C:\Users\Коля\YandexDisk\Arduino\SENSOR_RS485\SENSOR_RS485.ino: In function 'void setup()':
SENSOR_RS485:151: error: 'class Modbus' has no member named 'someMethod'
SENSOR_RS485:191: error: request for member 'begin' in 'slave', which is of pointer type 'Modbus*' (maybe you meant to use '->' ?)
C:\Users\Коля\YandexDisk\Arduino\SENSOR_RS485\SENSOR_RS485.ino: In function 'void loop()':
SENSOR_RS485:276: error: request for member 'poll' in 'slave', which is of pointer type 'Modbus*' (maybe you meant to use '->' ?)
SENSOR_RS485:285: error: request for member 'poll' in 'slave', which is of pointer type 'Modbus*' (maybe you meant to use '->' ?)
exit status 1
'class Modbus' has no member named 'someMethod'
slave->someMethod();
Это просто пример, как вызывать какой-то метод у экземпляра класса, созданного динамически. Если раньше вы делали так:
slave.someMethod();
То в случае динамического создания надо делать так, как я показал. Думал, догадаетесь, что это просто пример.
доброго времени суток!
пыаюсь до инициализации бота Телеграмм прочитать из памчти токен, но не выходит... что-то делаю не так или таким способом это не возможно?
А если так ?
увы...
если так как в примере ниже, то "переменная" bot за пределами initVariant() не видна
#include <UniversalTelegramBot.h>
если просто
то оно не знает что такое EEPROM.get. - ведь оно еще не инициализированно
хм...
попробуте создать переменную, вбить в нее токен "от фонаря", но чтобы длинна совпадала
потом запустить бот и передать ему не переменную, а указатель на нее, а потом переписать переменную нужным содержимым.
http://cppstudio.com/post/423/
http://cppstudio.com/post/429/
не знаю, что тебе нужно, но посмотри вот здесь - http://arduino.ru/forum/programmirovanie/kak-ispolnit-svoi-kod-do-initsializatsii-sredy-arduino
Откройте для себя оператор new - и не надо париться с извратами:
DIYMan спасибо!
Воротоа, что мне нужно:
есть телеграмм бот, для его использования ДО блока сетап надо инициализировать его с помощью ключа BOTtoken, так вот хочу чтобы этот BOTtoken можно было хранить в памяти, а не записывать в скетч, но увы - пока не получилось...
понятно
супер! спасибо огромное!