реклама на сайте
подробности

 
 
> Меню на LCD 16х2 (Си WinAVR)+5кнопок, Как организовать меню , принцип
Кастусь Рыжов
сообщение Aug 9 2009, 15:12
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 80
Регистрация: 16-07-07
Из: Беларусь, г.Гомель
Пользователь №: 29 165



Нужно написать меню на Си, Атмега16 +5кнопок +ЖКИ 16х2
Меня интересует сам принцип организации меню и какие средства языка Си лучше использовать для написания меню
Опыта в Си мизер, ткните пальцем для направления верного или может у кого наработки есть, поделитесь для примера, посмотреть исходник. Заранее спасибо всем откливнувшимся. (использую Си компилятор WinAVR и AVR Studio)
ЗЫ: может не умею искать, но поис по форуму у меня не увенчался успехом smile3046.gif


--------------------
Прибор должен работать не в принципе, а в корпусе!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Legotron
сообщение Sep 8 2009, 15:20
Сообщение #2


инопланетянин
***

Группа: Свой
Сообщений: 236
Регистрация: 24-12-06
Из: Питер
Пользователь №: 23 832



Цитата(zltigo @ Sep 8 2009, 18:28) *
воздействий еще больше - поведение становится формально трудно описуемым нужно добавлять элементы размытой логики...

В данном топике речь идёт о меню. Можно пример ваших усложнений касательно построений меню? Я себе мало представляю меню с размытой логикой, но подозреваю, что если такое и можно придумать, вряд ли возможно будет этим пользоваться с точки зрения эргономики. Хорошее меню - простое меню. Тому пример старые модели телефонов Nokia. biggrin.gif добавлено: пару нажатий кнопок и ты уже рубаешь в змейку wink.gif

Цитата(zltigo @ Sep 8 2009, 18:28) *
Да, уже поминал в начале топика в качестве примера. Особого пиетета не стоит (ну разве только по отношению к коду генеримому IAR VS smile.gif ), но достаточно добротно.

Код генерируемый IAR VS - нечитабелен, ибо там всё завязано на 1 таблице, которую без бубна не расшифруешь rolleyes.gif , но всё остальное по-моему вполне вразумительно (в сравнении с другими программами с автогенерацией кода)

Цитата(Dog Pawlowa @ Sep 8 2009, 18:45) *
А я вот пришел к макросам описания состояний и доволен.
Переходы между состояниями - ручками внутри соответствующих функций.
Единственная проблема - время компиляции после всей "макросизации" состояний, портов, ошибок, событий, клавиш) выросло драматически.

К макросам лично у меня сложилось весьма предвзятое отношение, я считаю что они сильно усложняют чтение программ сторонними людьми, а также могут содержать ошибки, которые трудно отыскать.

Цитата(Dog Pawlowa @ Sep 8 2009, 18:45) *
"просто поросячий восторг!!! .... Вообщем сейчас уже этой штукой не пользуюсь для меню " smile.gif

Вы очень хорошее резюме сделали, на самом деле очень часто хочется писать "как хочу", а знающие люди говорят - не надо так писать, и только через какое-то время понимаешь, что они были правы и главное - почему. Поэтому я лично часто говорю себе - "не буду так писать (как хочеться).... почему?(сам себе).... не знаю, но всё равно не буду, потом пойму" biggrin.gif

Цитата(mempfis_ @ Sep 8 2009, 19:08) *
Делал довольно разветвлённые меню путём организации состояния программы с перебором в основном цикле и функциями перехода.

На мой взгляд это хороший способ для простых меню. (то что я подразумевал под вариантом 2)
Чуть возрастёт логика и способность чтения экпоненциально усложняется.
Нормальный подход для простых меню.
А усложнить например можно добавив память в дочерние состояния, а если их еще несколько...
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Sep 8 2009, 17:20
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Legotron @ Sep 8 2009, 18:20) *
К макросам лично у меня сложилось весьма предвзятое отношение, я считаю что они сильно усложняют чтение программ сторонними людьми, а также могут содержать ошибки, которые трудно отыскать.


У меня тоже неоднозначное отношение, но какова альтернатива?
- все писать стандартными средствами, в результате чего чтение программы не менее сложно.
- использовать нелицензионный софт, так же неизвестный для сторонних людей.

Постороннему необученному человеку нечего делать в моем коде smile.gif
Что касается поиска ошибок, то трудности сильно преувеличены, ошибка находится за 20 секунд.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Кастусь Рыжов   Меню на LCD 16х2 (Си WinAVR)+5кнопок   Aug 9 2009, 15:12
- - zltigo   Цитата(Кастусь Рыжов @ Aug 9 2009, 18:12)...   Aug 9 2009, 16:33
- - _Pasha   Меню - разные бывают. Чаще в таких случаях - редак...   Aug 9 2009, 16:35
- - Vishv   Да не нужно искать специальные средства языка - их...   Aug 9 2009, 16:42
- - Кастусь Рыжов   Народ, извиняюсь за размножение избитых тем. сильн...   Aug 9 2009, 17:01
|- - zltigo   Цитата(Кастусь Рыжов @ Aug 9 2009, 20:01)...   Aug 9 2009, 17:25
|- - ZVE   Цитата(Кастусь Рыжов @ Aug 9 2009, 20:01)...   Aug 9 2009, 17:38
- - ARV   я для многих проектов с меню приспособился делать ...   Aug 9 2009, 17:48
- - Scanner   Цитата(zltigo @ Aug 9 2009, 20:33) Тогда ...   Sep 7 2009, 19:58
|- - Legotron   Цитата(Scanner @ Sep 7 2009, 23:58) Тоже ...   Sep 8 2009, 14:04
|- - zltigo   Цитата(Legotron @ Sep 8 2009, 16:04) если...   Sep 8 2009, 14:28
|- - Dog Pawlowa   А я вот пришел к макросам описания состояний и дов...   Sep 8 2009, 14:45
|- - mempfis_   Делал довольно разветвлённые меню путём организаци...   Sep 8 2009, 15:08
|- - _Pasha   Цитата(mempfis_ @ Sep 8 2009, 18:08) Дела...   Sep 9 2009, 05:50
|- - zltigo   Цитата(Legotron @ Sep 8 2009, 17:20) В да...   Sep 8 2009, 15:29
- - Legotron   Цитата(zltigo @ Sep 8 2009, 19:29) Шла, д...   Sep 8 2009, 15:37


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 04:12
Рейтинг@Mail.ru


Страница сгенерированна за 0.01355 секунд с 7
ELECTRONIX ©2004-2016