Easyelectronics.ru

Электроника для всех
Текущее время: 09 дек 2019, 14:44

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: кто может обьяснить state machine как работает и для чего на
СообщениеДобавлено: 08 фев 2015, 14:14 
Заглядывает иногда

Зарегистрирован: 22 июн 2014, 14:36
Сообщения: 197
желательно все коды применительно к компилятору CCS.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: кто может обьяснить state machine как работает и для чего на
СообщениеДобавлено: 08 фев 2015, 15:36 
Старожил

Зарегистрирован: 19 июн 2012, 14:17
Сообщения: 3440
Как устроен мир и для чего он ну... опишите в двух словах. :)

Абстра́ктный автома́т (в теории алгоритмов) — математическая абстракция, модель дискретного устройства, имеющего один вход, один выход и в каждый момент времени находящегося в одном состоянии из множества возможных. (C) wikipedia
Конечный автомат (КА) или finite state maschine (fsm), еще к тому же имеет конечное количество этих самых состояний...

Для чего нужен - ну этой моделью удобно описывать устройства и различные процессы, например навигацию по меню...
В зависимости от текущего состояния (выбранного пункта меню) и входных данных (нажатой пользователем кнопки вверх или вниз) происходит переход в новое состояние (другой пункт меню). Переход может осуществятся и в текущее состояние (пользователь нажал кнопку плюс или минус), ну и попутно выполнятся какое нибудь действие (инкремент или декремент переменной, вызов функции, етц).

Есть разные способы реализовать КА, самый простой и глупый - вложенные switch case, а ля
Show


Есть еще state tables и фреймворки с граф. редакторами и генерацией кода вроде QPC и QM...


Последний раз редактировалось яверт 29 окт 2015, 18:58, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: кто может обьяснить state machine как работает и для чего на
СообщениеДобавлено: 28 фев 2015, 00:50 
Только пришел

Зарегистрирован: 28 фев 2015, 00:31
Сообщения: 6
Конечные автоматы нужны для реализации чего-то вроде многозадачности программы. Т.е. если вам надо чего-то дождаться (например ответа устройства или реакции пользователя, типа нажатия кнопки), то ждать это нужно не в глухом цикле (типа while(!BUTTON_PRESS); когда программа "зависает" на этом цикле, пока не выполнится условие) а просто в конечном автомате, в статусе "ожидание нажатия" быстро один раз проверять - нажата кнопка или нет. Если нет, то выйти из функции, а если да, то изменить статус на "кнопка нажата" и при следующем заходе мы будем попадать уже в этот статус. Ещё можно тут системный таймер (удобная штука) проверять и реализовать таймаут нажатия...

Я по работе оооочень много вожусь с Микрочиповским ТСР-стеком, а он весь на конечных автоматах и таймаутах этих построен с ног до головы! Так что если что непонятно - спрашивайте...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: кто может обьяснить state machine как работает и для чего на
СообщениеДобавлено: 28 фев 2015, 14:37 
Старожил

Зарегистрирован: 20 мар 2010, 17:31
Сообщения: 1394
Откуда: Челябинск
навеяло:

"История — из разряда анекдотов. Муж рассказывал, как он сдавал
выпускной экзамен в школе. Он-то русскую классику читал все-таки, интеллигентная семья, папа-учитель и все такое. А его друзья, как водится, надеялись неизвестно на что, а точнее, на тех, кто читал.
И вот сидит он на экзамене, и вдруг шариком летит к нему записка через весь класс. К кому летит — все видели. И учитель тоже. И от кого, тоже увидел.

Поднимает.
Разворачивает.
Читает…
Смотрит на класс.
— Кто это написал?
Автору деваться некуда, поднялся… Ну, в общем, экзамен он сдал. Просто не мог не сдать — после того, как учитель прочитал записку вслух. Там было всего несколько слов:
«ВОЙНУ И МИР» В ДВУХ СЛОВАХ, БЫСТРО!»
"© С сайта http://www.inpearls.ru/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: кто может обьяснить state machine как работает и для чего на
СообщениеДобавлено: 16 апр 2015, 07:01 
Старожил

Зарегистрирован: 28 дек 2012, 07:17
Сообщения: 517
Автор, читайте посты участника demiurg1978 или обратитесь к нему лично. Он на этих автоматах собаку съел.

Но от себя посоветовал бы забить на автоматы и изучать вытесняющую многозадачность. Это гораздо перспективнее. Мне очень понравилось, как она описана в документации на scmRTOS.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: кто может обьяснить state machine как работает и для чего на
СообщениеДобавлено: 16 апр 2015, 07:39 
Старожил
Аватара пользователя

Зарегистрирован: 20 апр 2010, 17:59
Сообщения: 1121
Откуда: Челябинск
Чего там собак то есть, все ясно как в солнечный день.

А насчет "забить на автоматы " - довольно глупый совет.
Нужно знать и уметь применять тот или иной подход для решения поставленных задач.

_________________
Everybody lies


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: кто может обьяснить state machine как работает и для чего на
СообщениеДобавлено: 16 апр 2015, 07:59 
Старожил

Зарегистрирован: 28 дек 2012, 07:17
Сообщения: 517
mrKirill писал(а):
Чего там собак то есть, все ясно как в солнечный день.

А насчет "забить на автоматы " - довольно глупый совет.
Нужно знать и уметь применять тот или иной подход для решения поставленных задач.

Автоматы мне просто дико :) понравились при работе с плис. Там они нужны, чтобы выполнять последовательный алгоритм на параллельном девайсе.
Но мк изначально уже последовательный девайс, поэтому автоматы здесь попросту выполняют функцию ненужных костылей. Масло маслянное :)
И если бы я изначально занялся многозадачностью, а не автоматами, это было бы гораздо полезнее для меня.

Вот, а demiurg1978 очень сильный сторонник именно автоматов, он может разбить любой аргумент их противников и знает самые тонкости. Поэтому я и посоветовал обратиться именно к нему.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: кто может обьяснить state machine как работает и для чего на
СообщениеДобавлено: 16 апр 2015, 07:59 
Старожил

Зарегистрирован: 23 ноя 2010, 20:08
Сообщения: 1098
Откуда: тебя ебёт?
А я от себя посоветовал бы забить на транзисторы, резисторы, конденсаторы и диоды. Микросхемы гораздо перспективнее.

Show
Мартышка к старости... глазами... басня.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: кто может обьяснить state machine как работает и для чего на
СообщениеДобавлено: 16 апр 2015, 11:26 
Старожил

Зарегистрирован: 23 фев 2012, 12:32
Сообщения: 338
Откуда: Украина
Предлагаю топикстартеру почитать цикл статей "Применение SWITCH-технологии при разработке прикладного программного обеспечения для микроконтроллеров", автор Татарчевский Владимир.

Тут можно много пиздеть о многозадачности и прочих красивых словах, но есть вещи которые стоит знать, даже если не пользуешся. Это по поводу "забить". Нашли что посоветовать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: кто может обьяснить state machine как работает и для чего на
СообщениеДобавлено: 16 апр 2015, 12:45 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2630
Откуда: Санкт-Петербург
Помимо всего прочего, FSM - это не только столь любимая в сообществе реализация кооперативной многозадачности, но и ещё целая куча вкусняшек - например, разбор протоколов. Так что надо знать и уметь готовить =)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB