<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comentários sobre: Máquina de Estados em C</title>
	<atom:link href="http://sergioprado.org/maquina-de-estados-em-c/feed/" rel="self" type="application/rss+xml" />
	<link>http://sergioprado.org/maquina-de-estados-em-c/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=maquina-de-estados-em-c</link>
	<description>Sistemas embarcados, Linux embarcado, RTOS e segurança</description>
	<lastBuildDate>Thu, 17 May 2012 14:50:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
	<item>
		<title>Por: Sergio Prado</title>
		<link>http://sergioprado.org/maquina-de-estados-em-c/#comment-36</link>
		<dc:creator>Sergio Prado</dc:creator>
		<pubDate>Thu, 15 Dec 2011 23:45:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.embarcados.com.br/blog/?p=115#comment-36</guid>
		<description>Olá Elton,

É que a handleRx não faz parte das funções da máquina de estados. Veja que a estrutura StateMachine é um vetor de 5 elementos, que deve apontar para as funções stSTX, stQtd, stData, stChk e stETX. Todas elas respeitam a definição &quot;typedef void (*Action)(unsigned char data)&quot;.

Se ficou alguma dúvida me avise.

Um abraço.</description>
		<content:encoded><![CDATA[<p>Olá Elton,</p>
<p>É que a handleRx não faz parte das funções da máquina de estados. Veja que a estrutura StateMachine é um vetor de 5 elementos, que deve apontar para as funções stSTX, stQtd, stData, stChk e stETX. Todas elas respeitam a definição “typedef void (*Action)(unsigned char data)”.</p>
<p>Se ficou alguma dúvida me avise.</p>
<p>Um abraço.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Elton Pereira</title>
		<link>http://sergioprado.org/maquina-de-estados-em-c/#comment-35</link>
		<dc:creator>Elton Pereira</dc:creator>
		<pubDate>Thu, 15 Dec 2011 13:37:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.embarcados.com.br/blog/?p=115#comment-35</guid>
		<description>Ol&#225; Sergio!
Em primeiro lugar parab&#233;ns pelos seus &#243;timos posts.
Me desculpe se a pergunta que vou fazer for ignor&#226;ncia de minha parte, mas estou com a seguinte d&#250;vida:
&#160;
Essa &#233; defini&#231;&#227;o do ponteiro para fun&#231;&#227;o:&#160;typedef void (*Action)(unsigned char data);
Mas existem fun&#231;&#245;es que possuem dois par&#226;metros, como esta:
void handleRx(unsigned char *data, int qtd)&#160;
E na declara&#231;&#227;o do ponteiro ele s&#243; est&#225; &quot;configurado&quot; para receber um par&#226;metro. Como o ponteiro vai se comportar neste caso?
Desde j&#225; agrade&#231;o a aten&#231;&#227;o!</description>
		<content:encoded><![CDATA[<p>Olá Sergio!<br />
Em primeiro lugar parabéns pelos seus ótimos posts.<br />
Me desculpe se a pergunta que vou fazer for ignorância de minha parte, mas estou com a seguinte dúvida:<br />
 <br />
Essa é definição do ponteiro para função: typedef void (*Action)(unsigned char data);<br />
Mas existem funções que possuem dois parâmetros, como esta:<br />
void handleRx(unsigned char *data, int qtd) <br />
E na declaração do ponteiro ele só está “configurado” para receber um parâmetro. Como o ponteiro vai se comportar neste caso?<br />
Desde já agradeço a atenção!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Sergio Prado</title>
		<link>http://sergioprado.org/maquina-de-estados-em-c/#comment-34</link>
		<dc:creator>Sergio Prado</dc:creator>
		<pubDate>Fri, 11 Nov 2011 16:00:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.embarcados.com.br/blog/?p=115#comment-34</guid>
		<description>Olá David!

Acredito que sim! Divida a implementação entre estados, defina as transições entre estes estados e você terá seu jogo de batalha naval!

Um abraço.</description>
		<content:encoded><![CDATA[<p>Olá David!</p>
<p>Acredito que sim! Divida a implementação entre estados, defina as transições entre estes estados e você terá seu jogo de batalha naval!</p>
<p>Um abraço.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: david</title>
		<link>http://sergioprado.org/maquina-de-estados-em-c/#comment-33</link>
		<dc:creator>david</dc:creator>
		<pubDate>Thu, 10 Nov 2011 20:45:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.embarcados.com.br/blog/?p=115#comment-33</guid>
		<description>Boa Tarde, gostaria de saber se tem como implementar uma m&#225;quina de estado do jogo batalha naval?</description>
		<content:encoded><![CDATA[<p>Boa Tarde, gostaria de saber se tem como implementar uma máquina de estado do jogo batalha naval?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: rogerio</title>
		<link>http://sergioprado.org/maquina-de-estados-em-c/#comment-32</link>
		<dc:creator>rogerio</dc:creator>
		<pubDate>Mon, 04 Jul 2011 13:39:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.embarcados.com.br/blog/?p=115#comment-32</guid>
		<description>Ja implementei um algoritmo com maquinas de estados um pouco mais elaborado. Os estados sao modificado em um ambiente multithread:
1)Ler entrada (l)
2)if (Tran&#173;si&#231;&#227;o de estado efetuada de forma atomica ( q(l)&lt;-qn ).
&#160; &#160; {
&#160; &#160; &#160; &#160;// Transicao efetuada
&#160; &#160; }
&#160; &#160; &#160;else
&#160; &#160; &#160;{
&#160; &#160; &#160; &#160;// Transicao falhou
&#160; &#160; &#160;}
3)Emita sa&#237;da ( s=f(qn) )</description>
		<content:encoded><![CDATA[<p>Ja implementei um algoritmo com maquinas de estados um pouco mais elaborado. Os estados sao modificado em um ambiente multithread:<br />
1)Ler entrada (l)<br />
2)if (Tran­sição de estado efetuada de forma atomica ( q(l)&lt;-qn ).<br />
    {<br />
       // Transicao efetuada<br />
    }<br />
     else<br />
     {<br />
       // Transicao falhou<br />
     }<br />
3)Emita saída ( s=f(qn) )</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: sergioprado</title>
		<link>http://sergioprado.org/maquina-de-estados-em-c/#comment-31</link>
		<dc:creator>sergioprado</dc:creator>
		<pubDate>Fri, 01 Jul 2011 22:10:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.embarcados.com.br/blog/?p=115#comment-31</guid>
		<description>Obrigado Matheus!

Agora só falta ficar rico igual eles! :-)

Continue acompanhando!

Um abraço.</description>
		<content:encoded><![CDATA[<p>Obrigado Matheus!</p>
<p>Agora só falta ficar rico igual eles! :-)</p>
<p>Continue acompanhando!</p>
<p>Um abraço.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Matheus Gustavo</title>
		<link>http://sergioprado.org/maquina-de-estados-em-c/#comment-30</link>
		<dc:creator>Matheus Gustavo</dc:creator>
		<pubDate>Fri, 01 Jul 2011 16:13:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.embarcados.com.br/blog/?p=115#comment-30</guid>
		<description>Tem gente que &#233; f&#227; do Ronaldo, gente f&#227; do Elton John eu sou f&#227; de Sergio Prado!!!
Blog, artigos... tudo extremamente organizado, com muita clareza e conte&#250;do muito, muito bom.
Continue assim. Ajuda muita gente!</description>
		<content:encoded><![CDATA[<p>Tem gente que é fã do Ronaldo, gente fã do Elton John eu sou fã de Sergio Prado!!!<br />
Blog, artigos… tudo extremamente organizado, com muita clareza e conteúdo muito, muito bom.<br />
Continue assim. Ajuda muita gente!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: sergioprado</title>
		<link>http://sergioprado.org/maquina-de-estados-em-c/#comment-29</link>
		<dc:creator>sergioprado</dc:creator>
		<pubDate>Wed, 16 Feb 2011 15:31:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.embarcados.com.br/blog/?p=115#comment-29</guid>
		<description>Olá Cyph3rk,

Atualizei os links. Veja se agora consegue baixar os fontes. Qualquer problema me avise.

Abraços!</description>
		<content:encoded><![CDATA[<p>Olá Cyph3rk,</p>
<p>Atualizei os links. Veja se agora consegue baixar os fontes. Qualquer problema me avise.</p>
<p>Abraços!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: @St0rm_W0lf</title>
		<link>http://sergioprado.org/maquina-de-estados-em-c/#comment-28</link>
		<dc:creator>@St0rm_W0lf</dc:creator>
		<pubDate>Wed, 16 Feb 2011 13:24:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.embarcados.com.br/blog/?p=115#comment-28</guid>
		<description>&#160;
Ol&#225;.
Muito bom o artigo.
Eu fiquei interessado em estudar melhor o exemplo que voc&#234; deu no artigo. &#201; que acabei ficando com algumas d&#250;vidas e eu acho que vendo o c&#243;digo completo eu consiga entender melhor o que esta sendo feito ali.
Tentei acessar o link &#160;(http://www.embarcados.com.br/View-document-details/118-blog-sprado-state_machine.html) mas retorna 404: Not Found (Me cadastrei no portal)
&#160;
Poderia disponibilizar acesso ao c&#243;digo novamente se poss&#237;vel.
&#160;
Obrigado
Att
Cyph3rk</description>
		<content:encoded><![CDATA[<p> <br />
Olá.<br />
Muito bom o artigo.<br />
Eu fiquei interessado em estudar melhor o exemplo que você deu no artigo. É que acabei ficando com algumas dúvidas e eu acho que vendo o código completo eu consiga entender melhor o que esta sendo feito ali.<br />
Tentei acessar o link  (<a href="http://www.embarcados.com.br/View-document-details/118-blog-sprado-state_machine.html" rel="nofollow">http://www.embarcados.com.br/View-document-details/118-blog-sprado-state_machine.html</a>) mas retorna 404: Not Found (Me cadastrei no portal)<br />
 <br />
Poderia disponibilizar acesso ao código novamente se possível.<br />
 <br />
Obrigado<br />
Att<br />
Cyph3rk</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Cristiano Cortezia</title>
		<link>http://sergioprado.org/maquina-de-estados-em-c/#comment-27</link>
		<dc:creator>Cristiano Cortezia</dc:creator>
		<pubDate>Mon, 31 May 2010 15:34:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.embarcados.com.br/blog/?p=115#comment-27</guid>
		<description>Gostei do post. Acho muito interessante e enxuta essa forma de implementar m&#225;quinas de estado. E tamb&#233;m discordo do &quot;Rule 104&quot; do Misra-C (http://www.sergioprado.org/2010/05/27/misra-c-padrao-para-software-em-c/).
Costumo usar essa abordagem na implementa&#231;&#227;o de cli&#039;s e outras solu&#231;&#245;es que envolvam tabelas associativas. Os resultados s&#227;o excelentes no que diz respeito ao tempo (e conforto rs) de manuten&#231;&#227;o do c&#243;digo para inclus&#227;o/remo&#231;&#227;o de novos comandos ao conjunto. Prezo muito a legibilidade de c&#243;digo.
[]&#039;s
Cristiano</description>
		<content:encoded><![CDATA[<p>Gostei do post. Acho muito interessante e enxuta essa forma de implementar máquinas de estado. E também discordo do “Rule 104″ do Misra-C (<a href="http://www.sergioprado.org/2010/05/27/misra-c-padrao-para-software-em-c/" rel="nofollow">http://www.sergioprado.org/2010/05/27/misra-c-padrao-para-software-em-c/</a>).<br />
Costumo usar essa abordagem na implementação de cli’s e outras soluções que envolvam tabelas associativas. Os resultados são excelentes no que diz respeito ao tempo (e conforto rs) de manutenção do código para inclusão/remoção de novos comandos ao conjunto. Prezo muito a legibilidade de código.<br />
[]‘s<br />
Cristiano</p>
]]></content:encoded>
	</item>
</channel>
</rss>

