Если программа более 57% памяти то некорректно работает ?
-
- Лейтенант
- Сообщения: 516
- Зарегистрирован: 25 фев 2018, 08:48
- Откуда: Оренбург
- Имя: Александр
Если программа более 57% памяти то некорректно работает ?
Контроллер ардуино мини 5В
Опрос датчика температуры и длительности периода(быстрый вход)
Опрос 3-х кнопок (быстрые входа)
сохранение в еепром 5 переменных и их считывание вначале
Вывод на I2C OLED дисплей: ssd1306 текущих и пороговых данных
Есть рабочая программа.
Потребовалось добавить 1 коэффициент и вывести на дисплей. (в итоге после компиляции программа занимает 57%)
Если добавляю в коде то все работает, но при выводе на дисплей приходится добавлять блок вывода строки на дисплей и код увеличивается и тогда начинаются проблемы - перестает адекватно работать. То после выводы замирает, то не выводит текущие данные.
Программу пока не выкладываю т.к. без этого кусочка все работает.
Может кто то сможет подсказать ГЛОБАЛЬНОЕ РЕШЕНИЕ (ну кроме смены контроллера) или хотя бы направление движения.
Опрос датчика температуры и длительности периода(быстрый вход)
Опрос 3-х кнопок (быстрые входа)
сохранение в еепром 5 переменных и их считывание вначале
Вывод на I2C OLED дисплей: ssd1306 текущих и пороговых данных
Есть рабочая программа.
Потребовалось добавить 1 коэффициент и вывести на дисплей. (в итоге после компиляции программа занимает 57%)
Если добавляю в коде то все работает, но при выводе на дисплей приходится добавлять блок вывода строки на дисплей и код увеличивается и тогда начинаются проблемы - перестает адекватно работать. То после выводы замирает, то не выводит текущие данные.
Программу пока не выкладываю т.к. без этого кусочка все работает.
Может кто то сможет подсказать ГЛОБАЛЬНОЕ РЕШЕНИЕ (ну кроме смены контроллера) или хотя бы направление движения.
-
- Полковник
- Сообщения: 1928
- Зарегистрирован: 28 окт 2015, 22:47
- Откуда: Ленобласть
- Имя: Игорь
- Поблагодарили: 2 раза
Если программа более 57% памяти то некорректно работает ?
Попробуйте вывести дисплей на отдельную плату и активировать ее один раз в цикле с минимально приемлемой частотой.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
-
- Лейтенант
- Сообщения: 516
- Зарегистрирован: 25 фев 2018, 08:48
- Откуда: Оренбург
- Имя: Александр
Если программа более 57% памяти то некорректно работает ?
[ref]Ingwar[/ref], я пробовал полностью отключать режим изменения уставок и отображения их на дисплее (этот режим на отдельной плате) , но НЕ помогло. Я потому и написал мысль - думаю что связанно это именно с памятью. Хорошо если я ошибаюсь..
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Если программа более 57% памяти то некорректно работает ?
А сколько оперативки?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Лейтенант
- Сообщения: 516
- Зарегистрирован: 25 фев 2018, 08:48
- Откуда: Оренбург
- Имя: Александр
Если программа более 57% памяти то некорректно работает ?
[ref=#ff8000]Sancho[/ref], данные:
Скетч использует 17570 байт (57%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 1359 байт (66%) динамической памяти, оставляя 689 байт для локальных переменных. Максимум: 2048 байт.
Скетч использует 17570 байт (57%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 1359 байт (66%) динамической памяти, оставляя 689 байт для локальных переменных. Максимум: 2048 байт.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Если программа более 57% памяти то некорректно работает ?
Об этом нужно думать...KulibinOrsk писал(а): 10 янв 2020, 17:58 Глобальные переменные используют 1359 байт (66%) динамической памяти, оставляя 689 байт для локальных переменных. Максимум: 2048 байт.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Лейтенант
- Сообщения: 516
- Зарегистрирован: 25 фев 2018, 08:48
- Откуда: Оренбург
- Имя: Александр
Если программа более 57% памяти то некорректно работает ?
РЕШЕНО.
Только путем отсечения максимально возможных блоков, переменных и прочего.
Т.е. в программе осталось самое необходимое и то под 99.9 занятости. При добавлении буквально одного блока уже начинает глючить.
На сегодня для работы про мини картинка такая:
Скетч использует 17226 байт (56%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 1355 байт (66%) динамической памяти, оставляя 693 байт для локальных переменных. Максимум: 2048 байт.
Только путем отсечения максимально возможных блоков, переменных и прочего.
Т.е. в программе осталось самое необходимое и то под 99.9 занятости. При добавлении буквально одного блока уже начинает глючить.
На сегодня для работы про мини картинка такая:
Скетч использует 17226 байт (56%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 1355 байт (66%) динамической памяти, оставляя 693 байт для локальных переменных. Максимум: 2048 байт.
-
- Полковник
- Сообщения: 1928
- Зарегистрирован: 28 окт 2015, 22:47
- Откуда: Ленобласть
- Имя: Игорь
- Поблагодарили: 2 раза
Если программа более 57% памяти то некорректно работает ?
Для максимального освобождения памяти, удалите загрузчик и залейте программу через программатор (через другую Ардуино).
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость