1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/schips-openfsm

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Выполнение и получение состояния конечного автомата

Выполнение конечного автомата

Фактически интерфейсом, который запускает конечный автомат Open FSM, является функция run_state_machine_once, прототип которой выглядит следующим образом:

// Выполняет конечный автомат, делая один шаг
state run_state_machine_once(FSM * fsm);
  • fsm — экземпляр конечного автомата.

После выполнения можно получить только что выполненное состояние через возвращаемое значение.

Например:

state cur_state;

cur_state = run_state_machine_once(&fsm_1);
printf("Выполнено: %d\n", cur_state);

Получение следующего состояния

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

state get_next_state(FSM * fsm);
  • fsm — экземпляр конечного автомата.

Например:

printf("Следующее: %d\n", get_next_state(&fsm_1));

Сброс конечного автомата

void init_state_machine(FSM *p);
void reset_state_machine(FSM *p);

Обе функции возвращают конечный автомат в начальное состояние, но reset_state_machine дополнительно очищает состояние ошибки.

Примеры

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

Для более подробного ознакомления с использованием обратитесь к конкретной реализации в src/example.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Простой в использовании, кроссплатформенный конечный автомат (Finite State Machine), поддерживает работу на микроконтроллере. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/schips-openfsm.git
git@api.gitlife.ru:oschina-mirror/schips-openfsm.git
oschina-mirror
schips-openfsm
schips-openfsm
master