Небольшая ремарка. Лучше использовать переменную byte вместо bool.
Памяти занимает столько же. И для большинства контроллеров проверка условия по байту работает побыстрее.
Появился в версии 7.
Небольшая ремарка. Лучше использовать переменную byte вместо bool.
Не факт. В одном байте можно хранить 8 флагов.
Спорить не буду. Не проверял. Но очень сомнительное заключение.
Параметр voidsetName(constchar*name)Dryundel писал(а): ↑14.02.2023{, 09:06}а что, функция device.setName("Name") принимает только constchar? Или ей аросто (String("Вход")) не нравиться?
Можно попробовать задекларировать темпаральную переменную прямо в Setup. Потом присвоить ей значение со входа, а потом вставить эту переменную в функцию.
Ну как вариант.
Интересная информация. Не задумывался над этим. Надо проверить.
Интересная задачка. Надо потестить. Доберусь до компа....
Может быть, тоже не проверял и не попадалась такая информация, в нашем случае быстрота не имеет значения, т.к. код выполняется в начале и один раз.
Это как бы оказалось, мягко говоря, неправдой.
Код: Выделить всё
String tempString = <IN>;
const char *charString = tempString.c_str();
setName(charString);
Как то маловероятным мне это кажется. При таких утверждениях, не плохо бы результаты тестов выкладывать или ссылку на первоисточник давать.
Я сказал какую то ерунду? Что пошло не так?
Это что? На слабо что ли?
Стесняюсь влезать в Ваши разборки, зашибете и не заметите...
Код: Выделить всё
void setup() {
const char *charString = "Test1";
device.setName(charString);
и так
void setup() {
device.setName( "Test1");
Код: Выделить всё
void setup() {
String tempString = "Test1";
const char *charString = tempString.c_str();
device.setName(charString);
Код: Выделить всё
void setup() {
String tempString = <Вход>;
const char *charString = tempString.c_str();
device.setName(charString);
}
Код: Выделить всё
void setup() {
device.setName(<Параметр> );
}
Старый проект блоков для НА чуть доработал и решил добавить входы для удобства. Вот описание функций. Вроде все просто, а не получается...
Поправил, не правильно вставил на форум.
вы же сказали что можно получать значения со входа
вот тут тоже сообщили об этой проблеме и предложили даже вариант решенияaidar_i писал(а): ↑14.02.2023{, 06:54}Я тоже в loop запускаю со входом.
Если в loop код выполняется только один раз, это равносильно setup. Для этого применяется переменная bool, так называемый "флаг".
Например:
В DeclareSection
bool flag = 1;
В LoopSection
if(flag) { flag = 0;
Код
}
Код будет выполняться при запуске программы один раз, и входы будут работать.
но ведь это тоже спорное утверждение
Читаем внимательно пост