Как сделать Глобальной переменную
- Войдите на сайт для отправки комментариев
Чт, 26/12/2013 - 14:02
Добрый день
Подскажите как сделать чтобы из цикла после обработки получались глобальные переменные.
Есть цикл в программе
while (id=1; id>20; id++) { if (payload.from_node == id) { int Client(id); Serial.print("Client_"); Serial.print(id); };
смысл прост. получая пакет данных я сравниваю его с числами от1 до 20, если значение совпало нужно сделать переменную.
Можно сделать так, чтобы полученные данные я мог использовать вне цикла While ?
Т.е. мне нужно чтобы программа как бы сама создавала глобальные переменные на оснве полученых данных
Такое вообще возможно???
Определить ее вне функций
Достаточно объявить её в нужной области видимости. Вне вайла -- будет видна вне вайла. Вне функции -- будет видна вне функции.
Это был бы самый простой вариант.
И он сейчас реализован.
Но смысл в том, что я не хочу прошивать каждый раз плату при добавлении новых переменных.
Можно конечно перечислить все варианты. Тупо добавить все возможные варианты Client1, Client2 ... Client20, но там этих перменных много :(
Там какой смысл:
Это сервер слушает клиентов.(ладно их номера)
У разных клиентов до 10-15 типов датчиков.
Так мне что надо. Сформировал клиент пакет и отправил серверу. в пакете (номер клиента, тип датчика, номер датчика, значение)
Сервер получил пакет прогнал его через цикл сравнения и сформировал переменную типа:
Client1_button_2 = 1;
Чтобы потом я прсто мог с этой переменной работать вне цикла сравнения
Как это реализовать???
Ардуине без разницы как Вы назовете переменную, это только для Вашего удобства. Поэтому сохраняте например так
клиент = 1
батон = 2
значение = 3
и со всем этим уже и играетесь
Вам нужно чтобы клиенты могли себя идентифицировать без прошивки идентификатора в скетч?
Делайте случайный выбор идентификатора и сохраняйте в еепром
Вам нужно чтобы клиенты могли себя идентифицировать без прошивки идентификатора в скетч?
Делайте случайный выбор идентификатора и сохраняйте в еепром
кстати EEPROM это это вариант. Попробую.
А чем Вас массивы не устраивают: uint8_t clients[20];
пример: