CRM
Где? В заголовке? "Код в студию. И имя файла." Ещё раз.
объявлена как глобальная, в начале файла после подключенных библиотек и перед setup()
Алексей
т.е. в файле с расширением cpp?
CRM
.h
Anton
объявлена как глобальная, в начале файла после подключенных библиотек и перед setup()
нужно больше кода. подсказка: воспользуйся каким-нибудь пастебин сервисом, хотя бы pastebin.com
Алексей
Чудес нет. Если массив объявлен в заголовке, то у него куча массивов. В каждой единице трансляции свой.
CRM
на ардуино, .ino
Алексей
Спрашивают и не читают.
Чудес нет. Если массив объявлен в заголовке, то у него куча массивов. В каждой единице трансляции свой.
Если массив в заголовке то ты получишь error при компиляции, что переменная уже объявлена. Или о чем ты?
ok-home
объявлена как глобальная, в начале файла после подключенных библиотек и перед setup()
глобальная переменная - многопоток - возможны гонки вы можете гарантировать что к ней идет обращение из одного потока ?
Алексей
Если массив в заголовке то ты получишь error при компиляции, что переменная уже объявлена. Или о чем ты?
Нет. При компиляции файла в объектник, там создастся массив, и если много куда он включается, то будет куча массивов. В каждом объектнике свой.
Алексей
После линковки всё будет хорошо, так как массивы локальные.
Anton
для начала, есть ли вообще многопоток? у него ж ардуина
Алексей
Для прикола, пусть в каждом месте, выведет адрес массива.
ok-home
обращение к нему только в одном месте.
а зачем она тогда глобальной объявлена ? если используется только в одной функции ?
Алексей
В каждом месте где обращается. Если адрес будет один (в чём я сильно сомневаюсь) то надо смотреть дальше
Anton
обращение к нему только в одном месте.
ответ на твой изначальный вопрос: подводных камней нет, но документацию надо читать внимательно. впрочем, это как раз можно считать надводным камнем
Anton
esp32
я имел в виду фреймворк ардуино
Anton
сам фреймворк там "однопоточным" построен
Алексей
запись происходит в одной функции, чтение в другой.
Перед записью и чтением выведи адрес начала массива.
ok-home
о.... а кто сказал что эти функции в одном потоке
Алексей
Убедись, что он один
Anton
запись происходит в одной функции, чтение в другой.
а? что за статический массив, он статический где? в объекте?
Алексей
а? что за статический массив, он статический где? в объекте?
Он описан в заголовке. Их может быть куча.
Anton
нифига не понял
CRM
а? что за статический массив, он статический где? в объекте?
нет, просто глобальный, как глобальная переменная
Anton
Алексей
нифига не понял
У него массив создаётся в заголовке. После этого происходит удивление.
В каком заголовке? У него один .ino файл. Он же ответил
Anton
он там точно создаётся?
CRM
а в чём тогда "статичность"?
в переменных в других функциях, значения которых меняются, но не должны
Алексей
Anton
больше похоже на вылет за границы массива
CRM
Спасибо за наводки, пойду проверять
больше похоже на вылет за границы массива
Я ему о чем так и сказал в первом сообщении. Ты про какую-то кучу массивов, про какие-то трансляции. Нихера я не понял. Тебя линкер пошлет нахер
Ой
Anton
Ой
я только одно утверждение об этом сделал. если сделать статический массив в заголовке, то без ифдефов он будет заново создаваться в каждой единице компиляции. это верно.
А вообще не очень дорого хранить в МК такой массив из джсонов? Неужели нельзя хранить подешевле?
CRM
А вообще не очень дорого хранить в МК такой массив из джсонов? Неужели нельзя хранить подешевле?
можно, это была попытка переписать код и проверить будут ли меняться переменные
CRM
изначально был массив uint16_t
esp32 много памяти имеет. для некоторых
Никто ж не спорит. Просто если можно подешевле и быстрее, то я выбираю такой метод. Но это я так...
Есп показывай
Василий
Шунт пропорционально увеличиваите сопротивление?
да, снимаю резачек если в паралель жменька
Василий
ну либо меняю
Олег_3412
Ясно.
Владимир
Бояре, привет Можно мой очередной проект на esp32S2 анонсировать? Банить не будете?
Владимир
🤷‍♂️ в общем очередная плата на esp32. Энергоэффективная плата на базе ESP32S2 с поддержкой аккумуляторов, модема и зарядки от солнечной панели. Планируем делать на ней автономные метеостанции.
Владимир
Владимир
Владимир
Владимир
Ключевые фичи: - Низкий ток потребления в спящем режиме - около 80 мкА - Наличие разъема для подключения солнечной панели - Слот для карты памяти - Наличие ключей питания для периферийных устройств - Бистабильное реле для управления внешними устройствами Подробнее можно почитать в ДШ на GitHub: https://github.com/climateguard/CG_LPC_Board
Владимир
Если получится - на следующей неделе выложу на Озон и скину пачку в Амперкот. Около 2К должна стоить.
Денис
че-то 80 uA многовато. ULP постоянно работает наверно
это разве много для *хоть сколько то* нормальной солнечной панели? любая за 500 рублей с алика выдаст в 5-10 раз больше
Денис
ну) не полярная ночь же
Владимир
ну) не полярная ночь же
Сейчас в Мск тестим с дешевой панелькой. Но без модема. Аккумулятор ниже 90% не снижается. Сейчас собираем проект станции прямо на наших детальках, КлайматГардовских. Осенью затестим, результаты на хабре опишем. Как всегда
SetPf
Вот вопрос
SetPf
как мне определять наличие кордампа во флеше
SetPf
SetPf
Первое - до эрейза партишона
SetPf
Второе - после эрейза партишона
SetPf
Ну на глаз, можно наверно типо замерить количество 0xFF в начале. Но чет это выглядит друным решением абсолютно.
SetPf
А какой-то конкретики я не нашел.
SetPf
Метку свою писать как вариант. Но мб встроенные стредства какие есть или стандартные?
Ruslan
когда встречаю такое, напрягаюсь:
Евгений
Ruslan
а на плате вот где UART для USB