Всем привет.
Пол года назад решил я сделать на MEGA2560 6 реле с 3 мя недельными таймерами в каждом. Менюшка что бы была норм, экран,да и часы реального времени, вообщем всё как у людей.
Т.е. 6 реле с 3 недельными таймерами для каждой. Настройки полностью через меню (как часы,так и таймеры)+ настройки сохраняются в епром
Но, проект получился настолько большой,что Мега мерцает экраном и нифига не видно что происходит. Запилил всё на Дуе , там прекрасно работает.
Для Меги (Скетч использует 126876 байт (49%) памяти устройства. Всего доступно 253952 байт.
Глобальные переменные используют 5596 байт (68%) динамической памяти, оставляя 2596 байт для локальных переменных. Максимум: 8192 байт.
)
И мне кажется ,ч то я что то не правильно делаю и проект можно сделать компактнее. Посмотрите пожалуйста, что переделать нужно?
ссылка на проект
Mega2560+меню+часы+6 реле по три таймера
Mega2560+меню+часы+6 реле по три таймера
Народ посмотрите пожалуйста. Переделывать не прошу, просто посмотреть да посоветовать
- RedSky
- Лейтенант
- Сообщения: 576
- Зарегистрирован: 19 дек 2016, 20:07
- Откуда: Днепропетровск
- Имя: Алексей
- Поблагодарили: 1 раз
Mega2560+меню+часы+6 реле по три таймера
Ну первое, что увидел: нет необходимости для дней, часов и минут использовать переменные типа integer, достаточно типа byte.
А так проект сложный, в логике разбираться долго. Не понятны пункты меню 1-7(выделил красным), а "название пункта меню" тоже прилично занимает память (строковая переменная), так что или используйте их в проекте или оставьте поля пустыми. Так же не ясно огромное количество "выход активности пункта меню", может стоило бы использовать текст из "название пункта меню".
Заметил так же, что в блоках определения дня недели выход никуда не подключен.
Так же желательно везде использовать константы и переменные с типом не более нужного. К примеру сравнивая переменную типа байт с числом "4", константу "4" вставлять тоже как байт.
[spoiler] [/spoiler]
[spoiler] [/spoiler]
А так проект сложный, в логике разбираться долго. Не понятны пункты меню 1-7(выделил красным), а "название пункта меню" тоже прилично занимает память (строковая переменная), так что или используйте их в проекте или оставьте поля пустыми. Так же не ясно огромное количество "выход активности пункта меню", может стоило бы использовать текст из "название пункта меню".
Заметил так же, что в блоках определения дня недели выход никуда не подключен.
Так же желательно везде использовать константы и переменные с типом не более нужного. К примеру сравнивая переменную типа байт с числом "4", константу "4" вставлять тоже как байт.
[spoiler] [/spoiler]
[spoiler] [/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Mega2560+меню+часы+6 реле по три таймера
Спасибо всем откликнувшимся за советы.
Чуть позже попробую переделать, т.к. комп хондрит, а ноут не вытягивает такой проект ((
Чуть позже попробую переделать, т.к. комп хондрит, а ноут не вытягивает такой проект ((
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя