0
\$\begingroup\$

It seems to me the use of state machines is just in logic circuits, is that correct? If not do they have other uses, such as say in microcontroller programming? I'm quite new to the subject and wonder if there are programs to create state machines or is it just a matter of understanding how they work and taking things from there?

\$\endgroup\$
10
  • 3
    \$\begingroup\$ What research have you done already on state machines? \$\endgroup\$
    – stanri
    Apr 14, 2014 at 15:22
  • \$\begingroup\$ it's a bit complex for me. it mixed up me. \$\endgroup\$
    – Roh
    Apr 14, 2014 at 15:25
  • 3
    \$\begingroup\$ You seem to ask "tell me all about state machines". That is a far to wide question for this SE. (Answering it fully would require more than 1 book.) Like probably most people here, I have often used state machines. On paper, in logic, in various languages. And they are often used to describe an algorithm that I had to understand. It a bit like asking if I ever used a procedural abstraction. Of course I have! \$\endgroup\$ Apr 14, 2014 at 15:29
  • 1
    \$\begingroup\$ An example of a state machine used in programming (and hardware) is I2C. Due to it's multi-master, multi-slave, half-duplex communication on a single bus, a state machine is ideal for keeping track of communication. And the state machine is fairly small. \$\endgroup\$
    – Passerby
    Apr 15, 2014 at 23:51

1 Answer 1

5
\$\begingroup\$

"State machine" is a very generic term for any process (electronic or otherwise) whose output is not simply a function of its current inputs, but also depends on its past history. In other words, it has "memory", or internal state information.

Electronic state machines started out as analogs of the mechanical state machines (including such examples as adding machines) that preceded them.

Your list of questions is far to broad to address here in EE.SE. You really need to do some Internet research on your own and then come back with more specific, focused questions.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.