<?xml version="1.0" encoding="UTF-8"?><feed version="0.3"
  xmlns="http://purl.org/atom/ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="en"
    >
	<title>Rafael Quines</title>
	<link rel="alternate" type="text/html" href="http://www.rafaelquines.com/blog" />
	<tagline>Blog do Rafael Quines</tagline>
	<modified>2009-10-01T03:07:42Z</modified>
	<copyright>Copyright 2009</copyright>
	<generator url="http://wordpress.org/" version="2.0.7">WordPress</generator>
			<entry>
	  	<author>
			<name>Rafael Quines</name>
		</author>
		<title type="text/html" mode="escaped"><![CDATA[Seminário Programaçao C/C++ para Sistemas Embarcados em SP]]></title>
		<link rel="alternate" type="text/html" href="http://www.rafaelquines.com/blog/2009/09/seminario-programacao-cc-para-sistemas-embarcados-em-sp/" />
		<id>http://www.rafaelquines.com/blog/2009/09/seminario-programacao-cc-para-sistemas-embarcados-em-sp/</id>
		<modified>2009-10-01T03:03:45Z</modified>
		<issued>2009-10-01T03:03:45Z</issued>
		
		<dc:subject>Eletrônica</dc:subject>

		<dc:subject>Desenvolvimento</dc:subject>

		<dc:subject>freescale</dc:subject>

		<dc:subject>C/C++</dc:subject>
 
		<summary type="text/plain" mode="escaped"><![CDATA[<br />
<b>Deprecated</b>:  preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in <b>/home/rafaelquines/rafaelquines.com/blog/wp-includes/functions-formatting.php</b> on line <b>83</b><br />
O Portal Embarcados e a Comunidade C&#038;C++ Brasil tem o prazer de anunciar a segunda edição do:
Seminário Programação C&#038;C++ para Sistemas Embarcados

O evento ocorrerá no dia 14 de novembro em São Paulo e contará com a seguinte programação:

Interfaceando Microcontroladores – Daniel Quadros
Esta palestra aborda as formas mais comuns de interface de microcontroladores a periféricos e [...]]]></summary>
		<content type="text/html" mode="escaped" xml:base="http://www.rafaelquines.com/blog/2009/09/seminario-programacao-cc-para-sistemas-embarcados-em-sp/"><![CDATA[<br />
<b>Deprecated</b>:  preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in <b>/home/rafaelquines/rafaelquines.com/blog/wp-includes/functions-formatting.php</b> on line <b>83</b><br />
<p>O <a href="http://www.embarcados.com.br/">Portal Embarcados</a> e a <a href="http://www.ccppbrasil.org/wiki/Grupo:Capa">Comunidade C&#038;C++ Brasil</a> tem o prazer de anunciar a segunda edição do:</p>
<h3>Seminário Programação C&#038;C++ para Sistemas Embarcados</h3>
<p><br/><br />
O evento ocorrerá no dia <strong>14 de novembro</strong> em <strong>São Paulo</strong> e contará com a seguinte programação:<br/><br />
<a id="more-35"></a><br />
<strong>Interfaceando Microcontroladores – Daniel Quadros</strong><br />
Esta palestra aborda as formas mais comuns de interface de microcontroladores a periféricos e outros sistemas, apresentando implementações típicas de hardware e software. Serão apresentados exemplos de código C para microcontroladores PIC (8 bits), HCS08 e MSP430 e periféricos como memória EEProm e Relógio de Tempo Real.<br/><br />
&nbsp;&nbsp;&nbsp;&nbsp;<strong>Tópicos</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;Programação dos periféricos internos dos microcontroladores: registradores de controle e interrupções<br />
&nbsp;&nbsp;&nbsp;&nbsp;E/S Digital: controlando LEDs, tratando teclas e teclados, PWM<br />
&nbsp;&nbsp;&nbsp;&nbsp;E/S Analógica: ADC e DAC<br />
&nbsp;&nbsp;&nbsp;&nbsp;Comunicação serial assíncrona<br />
&nbsp;&nbsp;&nbsp;&nbsp;Comunicação a 2 fios (I2C). Exemplos: relógio PCF8583 e memória 24WC256<br />
&nbsp;&nbsp;&nbsp;&nbsp;Comunicação a 3 fios. Exemplo: relógio DS1302<br />
&nbsp;&nbsp;&nbsp;&nbsp;Comunicação a 4 fios (SPI, MICROWIRE). Exemplo: memória FM93C66.<br />
&nbsp;&nbsp;&nbsp;&nbsp;Interface com LCD Alfanumérico.</p>
<p><strong>Otimizando C++ para Sistemas Embarcados – Luiz de Barros</strong><br />
A utilização da linguagem C++ em plataformas embarcadas vem crescendo a cada dia. Como todos sabemos, os recursos de herança, polimorfismo e encapsulamento providos por uma linguagem orientada a objeto podem prover diversas vantagens, como maior testabilidade, maior isolação entre camadas e maior facilidade de manutenção/atualização, melhor reuso de código e, em alguns casos, menor código binário. Apresentaremos nesta palestra algumas orientações e técnicas eficientes para otimização de código C++ para utilização em sistemas embarcados e demonstraremos as diferenças de tamanho de binário para implementar uma funcionalidade em C, C++ e C++ otimizado para funcionamento em sistemas embarcados.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<strong>Tópicos</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;C++ Embarcado?<br />
&nbsp;&nbsp;&nbsp;&nbsp;Pensando Embarcado (Think Embedded!)<br />
&nbsp;&nbsp;&nbsp;&nbsp;Conhecendo a sua Plataforma e Ambiente de Desenvolvimento<br />
&nbsp;&nbsp;&nbsp;&nbsp;O que POSSO FAZER X O que NÃO É RECOMENDADO?<br />
&nbsp;&nbsp;&nbsp;&nbsp;O que NÂO DEVO FAZER?<br />
&nbsp;&nbsp;&nbsp;&nbsp;Algumas Técnicas de Otimização<br />
&nbsp;&nbsp;&nbsp;&nbsp;Otimizando um Código<br />
&nbsp;&nbsp;&nbsp;&nbsp;Algumas comparações (otimizado x não otimizado).</p>
<p><strong>Projetos de Sistemas Embarcados com Baixo Consumo de Energia – Alessandro Cunha</strong><br />
Diversas arquiteturas modernas de microcontroladores fazem uso de fontes de clock diferentes com o objetivo de possibilitar o gerenciamento do consumo de energia durante a execução de programas. Mostraremos nesta palestra algumas destas arquiteturas e como fazer uso delas nos programas embarcados.<br />
&nbsp;&nbsp;&nbsp;&nbsp;<strong>Tópicos</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;Porque projetar sistemas de baixo consumo?<br />
&nbsp;&nbsp;&nbsp;&nbsp;Recursos de hardware para baixo consumo<br />
&nbsp;&nbsp;&nbsp;&nbsp;Recursos de software para baixo consumo<br />
&nbsp;&nbsp;&nbsp;&nbsp;Arquitetura da Texas para o MSP430<br />
&nbsp;&nbsp;&nbsp;&nbsp;Arquitetura da Microchip para os chips PIC<br />
&nbsp;&nbsp;&nbsp;&nbsp;Arquitetura da Freescale para os chips Flexis<br />
&nbsp;&nbsp;&nbsp;&nbsp;Arquitetura da Luminary para o ARM Cortex M3<br />
&nbsp;&nbsp;&nbsp;&nbsp;Técnicas de software para utilizar um uC em baixo consumo.</p>
<p><strong>Desenvolvimento de um Device Driver para GNU/Linux - Plataforma ARM – Luiz de Barros</strong><br />
A utilização de GNU/Linux em sistemas embarcados é crescente, indo desde dispositivos de monitoramento, roteadores, dispositivos de entretenimento, navegadores GPS, internet tablets e celulares. A utilização do Gnu/Linux pode reduzir o custo total de propriedade (TCO) de sistemas complexos com necessidades de comunicação TCP/IP, acesso a sistema de arquivos, dispositivos USB e interface com usuário. Um dos grandes desafios enfrentados no desenvolvimento de sistemas embarcados baseados em sistema operacional GNU/Linux é o desenvolvimento de device drivers para periféricos não suportados diretamente no kernel. Demonstraremos nesta palestra o desenvolvimento de um driver simples para realizar acesso às portas de entrada e saída de uma plataforma de hardware baseada em microcontrolador da família ARM9.<br />
&nbsp;&nbsp;&nbsp;&nbsp;<strong>Tópicos</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;Arquitetura do GNU/Linux em um Sistema Embarcado<br />
&nbsp;&nbsp;&nbsp;&nbsp;Loadable Kernel Modules<br />
&nbsp;&nbsp;&nbsp;&nbsp;UserSpace x KernelSpace<br />
&nbsp;&nbsp;&nbsp;&nbsp;Interface Kernel <=> Usuário<br />
&nbsp;&nbsp;&nbsp;&nbsp;Utilizando o Temporizador do Kernel<br />
&nbsp;&nbsp;&nbsp;&nbsp;Acessando o GPIO<br />
&nbsp;&nbsp;&nbsp;&nbsp;Examinando o Código de um Driver GPIO<br />
&nbsp;&nbsp;&nbsp;&nbsp;Compilando e instalando um módulo.</p>
<p><strong>Inscrição:</strong></p>
<p>Até dia <strong>23/10 – R$139,00</strong><br />
<strong>10% de desconto</strong> para clientes da Tempo Real Eventos.<br />
<strong>10% de desconto</strong> para uso de <strong>código promocional</strong>.<br />
Para receber o código promocional envie um e-mail com assunto Código Promocional para <a href="mailto:diego.sueiro@embarcados.com.br">diego.sueiro@embarcados.com.br</a> .</p>
<p>           Do dia <strong>24/10 a 11/11</strong> – <strong>R$179,00</strong></p>
<p>            <strong>Estudantes – R$99,00 (vagas limitadas)</strong></p>
<p><strong>A inscrição dá direito a:</strong></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;- Material impresso<br />
&nbsp;&nbsp;&nbsp;&nbsp;- Certificado de participação<br />
&nbsp;&nbsp;&nbsp;&nbsp;- Estacionamento<br />
&nbsp;&nbsp;&nbsp;&nbsp;- 2 Coffee breaks<br />
&nbsp;&nbsp;&nbsp;&nbsp;- Almoço</p>
<p>Para inscrições e maiores informações acessem:</p>
<p><a href="http://www.temporealeventos.com.br/?area=118">http://www.temporealeventos.com.br/?area=118</a></p>
<p><strong>Por favor, divulguem este evento em suas redes de contatos. </strong>
</p>
]]></content>
	</entry>
		<entry>
	  	<author>
			<name>Rafael Quines</name>
		</author>
		<title type="text/html" mode="escaped"><![CDATA[Promoção Frete Grátis* ProtoShieldBR]]></title>
		<link rel="alternate" type="text/html" href="http://www.rafaelquines.com/blog/2009/07/promocao-frete-gratis-protoshieldbr/" />
		<id>http://www.rafaelquines.com/blog/2009/07/promocao-frete-gratis-protoshieldbr/</id>
		<modified>2009-07-17T13:08:05Z</modified>
		<issued>2009-07-17T13:08:05Z</issued>
		
		<dc:subject>Sem Categoria</dc:subject>
 
		<summary type="text/plain" mode="escaped"><![CDATA[<br />
<b>Deprecated</b>:  preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in <b>/home/rafaelquines/rafaelquines.com/blog/wp-includes/functions-formatting.php</b> on line <b>83</b><br />
A partir de agora, para compras de no mínimo 5 ProtoShieldBR nos estados do RS, SC, PR e SP, terá o custo do frete grátis. Pagará apenas o valor referente aos kits.
Converse com conhecidos do mundo do Arduino, que possam querer uma protoshieldbr para seus projetos, e se juntem pra comprar ProtoShieldBR e tenham esse [...]]]></summary>
		<content type="text/html" mode="escaped" xml:base="http://www.rafaelquines.com/blog/2009/07/promocao-frete-gratis-protoshieldbr/"><![CDATA[<br />
<b>Deprecated</b>:  preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in <b>/home/rafaelquines/rafaelquines.com/blog/wp-includes/functions-formatting.php</b> on line <b>83</b><br />
<p>A partir de agora, para compras de no mínimo 5 ProtoShieldBR nos estados do RS, SC, PR e SP, terá o custo do frete grátis. Pagará apenas o valor referente aos kits.</p>
<p>Converse com conhecidos do mundo do Arduino, que possam querer uma protoshieldbr para seus projetos, e se juntem pra comprar ProtoShieldBR e tenham esse benefício.</p>
<p><a id="more-34"></a></p>
<p>Entre em contato por e-mail (rafael.quines@arduinors.net) para comprar e/ou negociar. Consulte também a possibilidade de frete grátis para outros estados.</p>
<p><img src="http://www.arduinors.net/blog/wp-content/uploads/2009/07/stack_one-300x225.jpg" alt="ProtoShieldBR" />
</p>
]]></content>
	</entry>
		<entry>
	  	<author>
			<name>Rafael Quines</name>
		</author>
		<title type="text/html" mode="escaped"><![CDATA[ProtoShieldBR no FISL 10 (Fórum do Software Livre)]]></title>
		<link rel="alternate" type="text/html" href="http://www.rafaelquines.com/blog/2009/06/protoshieldbr-no-fisl-10/" />
		<id>http://www.rafaelquines.com/blog/2009/06/protoshieldbr-no-fisl-10/</id>
		<modified>2009-06-15T18:22:54Z</modified>
		<issued>2009-06-15T18:22:54Z</issued>
		
		<dc:subject>Sem Categoria</dc:subject>
 
		<summary type="text/plain" mode="escaped"><![CDATA[<br />
<b>Deprecated</b>:  preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in <b>/home/rafaelquines/rafaelquines.com/blog/wp-includes/functions-formatting.php</b> on line <b>83</b><br />
É com grande satisfação que anuncio que a ProtoShielBR será exposta no Fórum do Software Livre 10, que acontecerá nos dias 24 a 27 de Junho, no Centro de Eventos da PUCRS (Porto Alegre-RS). No Fórum, haverá o I Festival Internacional de Robótica Livre, onde a ProtoShieldBR será brinde para alguns participantes, além de ser [...]]]></summary>
		<content type="text/html" mode="escaped" xml:base="http://www.rafaelquines.com/blog/2009/06/protoshieldbr-no-fisl-10/"><![CDATA[<br />
<b>Deprecated</b>:  preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in <b>/home/rafaelquines/rafaelquines.com/blog/wp-includes/functions-formatting.php</b> on line <b>83</b><br />
<p>É com grande satisfação que anuncio que a ProtoShielBR será exposta no <a href="http://www.fisl.org.br">Fórum do Software Livre 10</a>, que acontecerá nos dias 24 a 27 de Junho, no Centro de Eventos da PUCRS (Porto Alegre-RS). No Fórum, haverá o <a href="http://www.fisl.org.br/10/www/festival-internacional-de-robotica-livre">I Festival Internacional de Robótica Livre</a>, onde a ProtoShieldBR será brinde para alguns participantes, além de ser mostrada por mim, Rafael Quines, com um exemplo simples de uso com leds, botões, e etc.</p>
<p><a href="http://www.fisl.org.br" border="0"><img src="http://www.arduinors.net/blog/wp-content/uploads/2009/06/fisl10banner-300x214.png" alt="FISL 10" /></a></p>
<p><a id="more-33"></a></p>
<p>A Olimpíada de Robótica Livre terá um caráter de oficina, cujo objetivo é desenvolver um ambiente de criatividade, colaboração e desafio, onde grupos construirão artefatos robóticos usando sucata eletrônica e softwares livres.</p>
<p>A Olimpíada será composta por 24 participantes organizados em 2 categorias: básica e avançada. No primeiro dia, terá uma etapa de nivelamento, onde os participantes terão contato com a filosofia da robótica livre e também com técnicas de soldagem e eletrônica básica. Na categoria básica , os participantes serão desafiados a construir “artefatos técnicos” usando uma Interface de Hardware Livre (IHL). Na categoria avançada, os participantes utilizarão placas controladoras Freeduino para desenvolvimento de seus projetos.</p>
<p>Contato para maiores informações, através do e-mail <a href="mailto:roboticalivre@softwarelivre.org">roboticalivre@softwarelivre.org</a>
</p>
]]></content>
	</entry>
		<entry>
	  	<author>
			<name>Rafael Quines</name>
		</author>
		<title type="text/html" mode="escaped"><![CDATA[ProtoShieldBR - Lançada versão brasileira da ProtoShield pro Arduino]]></title>
		<link rel="alternate" type="text/html" href="http://www.rafaelquines.com/blog/2009/01/protoshieldbr-lancada-versao-brasileira-da-protoshield-pro-arduino/" />
		<id>http://www.rafaelquines.com/blog/2009/01/protoshieldbr-lancada-versao-brasileira-da-protoshield-pro-arduino/</id>
		<modified>2009-01-29T11:39:41Z</modified>
		<issued>2009-01-29T11:39:41Z</issued>
		
		<dc:subject>Eletrônica</dc:subject>
 
		<summary type="text/plain" mode="escaped"><![CDATA[<br />
<b>Deprecated</b>:  preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in <b>/home/rafaelquines/rafaelquines.com/blog/wp-includes/functions-formatting.php</b> on line <b>83</b><br />
Foi liberada no dia 25 de janeiro, os primeiros kits a venda da ProtoShieldBR. Primeira protoshield pro arduino com fabricação 100% brasileira, desenvolvida em Porto Alegre - RS.


ProtoShieldBR é um projeto desenvolvido por Rafael Quines e Celso Fraga que tem como objetivo facilitar a integração do Arduino com outros hardwares. Disponibiliza trilhas semelhantes a uma [...]]]></summary>
		<content type="text/html" mode="escaped" xml:base="http://www.rafaelquines.com/blog/2009/01/protoshieldbr-lancada-versao-brasileira-da-protoshield-pro-arduino/"><![CDATA[<br />
<b>Deprecated</b>:  preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in <b>/home/rafaelquines/rafaelquines.com/blog/wp-includes/functions-formatting.php</b> on line <b>83</b><br />
<p>Foi liberada no dia 25 de janeiro, os primeiros kits a venda da ProtoShieldBR. Primeira protoshield pro arduino com fabricação 100% brasileira, desenvolvida em Porto Alegre - RS.</p>
<p style="text-align: center;"><a href="http://www.arduinors.net/blog/wp-content/uploads/2009/01/stack_one1.jpg"><img class="aligncenter size-medium wp-image-84" src="http://www.arduinors.net/blog/wp-content/uploads/2009/01/stack_one1-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p><a id="more-32"></a></p>
<p>ProtoShieldBR é um projeto desenvolvido por <a href="http://rafaelquines.com">Rafael Quines</a> e Celso Fraga que tem como objetivo facilitar a integração do Arduino com outros hardwares. Disponibiliza trilhas semelhantes a uma <a href="http://en.wikipedia.org/wiki/Protoboard">protoboard</a> (ou <a href="http://en.wikipedia.org/wiki/Breadboard">breadboard</a>) e se encaixa facilmente por cima do Arduino.</p>
<p>A ProtoShield é vendida em forma de kit pelo Mercado Livre: <a href="http://produto.mercadolivre.com.br/MLB-99775201-protoshieldbr-kit-protoshield-para-arduino-_JM">CLIQUE AQUI</a></p>
<p style="text-align: center;"><a href="http://www.arduinors.net/blog/wp-content/uploads/2009/01/example1.jpg"><img class="aligncenter size-medium wp-image-86" src="http://www.arduinors.net/blog/wp-content/uploads/2009/01/example1-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>Para mais informações, visite a página oficial: <a href="http://www.arduinors.net/blog/protoshieldbr/">ProtoShieldBR</a></p>
<p style="text-align: center;"><a href="http://www.arduinors.net/blog/wp-content/uploads/2009/01/stack_two1.jpg"><img class="aligncenter size-medium wp-image-85" src="http://www.arduinors.net/blog/wp-content/uploads/2009/01/stack_two1-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;"><a href="http://www.arduinors.net/blog/wp-content/uploads/2009/01/barras_bot1.jpg"><img class="aligncenter size-medium wp-image-88" src="http://www.arduinors.net/blog/wp-content/uploads/2009/01/barras_bot1-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;"><a href="http://www.arduinors.net/blog/wp-content/uploads/2009/01/barras_top1.jpg"><img class="aligncenter size-medium wp-image-87" src="http://www.arduinors.net/blog/wp-content/uploads/2009/01/barras_top1-300x225.jpg" alt="" width="300" height="225" /></a></p>
]]></content>
	</entry>
		<entry>
	  	<author>
			<name>Rafael Quines</name>
		</author>
		<title type="text/html" mode="escaped"><![CDATA[Seminário Freescale em Porto Alegre]]></title>
		<link rel="alternate" type="text/html" href="http://www.rafaelquines.com/blog/2008/10/seminario-freescale-em-porto-alegre/" />
		<id>http://www.rafaelquines.com/blog/2008/10/seminario-freescale-em-porto-alegre/</id>
		<modified>2008-10-29T11:48:55Z</modified>
		<issued>2008-10-29T11:48:55Z</issued>
		
		<dc:subject>Eletrônica</dc:subject>

		<dc:subject>Eventos</dc:subject>

		<dc:subject>freescale</dc:subject>
 
		<summary type="text/plain" mode="escaped"><![CDATA[<br />
<b>Deprecated</b>:  preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in <b>/home/rafaelquines/rafaelquines.com/blog/wp-includes/functions-formatting.php</b> on line <b>83</b><br />

Acontece nesse próximo dia 21 de Novembro (sexta-feira) o seminário da Freescale que terá como foco os novos microcontroladores da família Flexis. A grande vantagem dessa família de processadores é que chips de 8 bits e 32 bits são compatíveis pino a pino, facilitando uma possível migração.

Flexis é o ponto de conexão entre 8 e [...]]]></summary>
		<content type="text/html" mode="escaped" xml:base="http://www.rafaelquines.com/blog/2008/10/seminario-freescale-em-porto-alegre/"><![CDATA[<br />
<b>Deprecated</b>:  preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in <b>/home/rafaelquines/rafaelquines.com/blog/wp-includes/functions-formatting.php</b> on line <b>83</b><br />
<p><img src="http://rafaelquines.com/img/freescale_logo.jpg" alt="Freescale" /></p>
<p>Acontece nesse próximo dia 21 de Novembro (sexta-feira) o seminário da Freescale que terá como foco os novos microcontroladores da família <a href="http://www.freescale.com/webapp/sps/site/homepage.jsp?nodeId=016246233A235A&#038;tid=tev">Flexis</a>. A grande vantagem dessa família de processadores é que chips de 8 bits e 32 bits são compatíveis pino a pino, facilitando uma possível migração.</p>
<p><a id="more-31"></a></p>
<p><strong>Flexis é o ponto de conexão entre 8 e 32 bits  do conceito “Controller Continuum” da Freescale, no qual os microcontroladores  S08 e ColdFire® V1  são pino a pino compatíveis e compartilham as mesmas ferramentas de desenvolvimento e perifericos para uma migração totalmente flexível.</strong></p>
<p><img src="http://rafaelquines.com/img/flexis_family.jpg" alt="Família Flexis" /></p>
<p><strong>Conteúdo e agenda do Seminário:</strong></p>
<p>1. <strong>Família Flexis JM com interface USB</strong>: Curso para iniciantes em USB, aborda a teoría básica do protocolo e as características de operação do módulo USB da família Flexis JM. Também explica o  software que esta disponível para ser utilizado para desenvolvimento de aplicações USB. Além disso, são indicadas as diferenças entre as versões de 8 e 32 bits da família JM e as diferenças nos respectivos módulos USB.</p>
<p>2. <strong>Família Flexis AC</strong>:  Introdução as novidades da família Flexis AC de 8 e 32 bits. Aborda os módulos básicos que estes dispositivos possuem, aprofundando sobre as propriedades do novo módulo de timer, Flex timer  e suas aplicações em controle de motor. </p>
<p><strong>Data</strong>:      21 de Novembro de 2008</p>
<p><strong>Horário</strong>:  8:00h as 18:00h</p>
<p><strong>Local</strong>:    InterCity Premium Porto Alegre<br />
              Av. Borges de Medeiros, 2105 - Bairro Praia de Belas<br />
              Porto Alegre/RS </p>
<p><strong>Investimento</strong>: Pelo preço promocional de R$389,00, você receberá o treinamento e duas (2) ferramentas de desenvolvimento: <a href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=DEMOJM&#038;fsrch=1"><strong>DEMOJM</strong></a> e <a href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=DEMOAC&#038;fsrch=1"><strong>DEMOACKIT</strong></a> (Cód FN KIT00040). A confirmação de sua inscrição será feita após recebermos a validação de compra/pagamento da ferramenta de desenvolvimento. <strong>As vagas são limitadas para as primeiras 20 pessoas que fizerem a aquisição da ferramenta para cada localidade</strong>. </p>
<p>Não perca, faça sua inscrição agora mesmo comprando as ferramentas de desenvolvimento pelo custo promocional. <a href="http://www.farnellnewark.com.br/u_Catalogo.apw?VerProd=1&#038;cCodPro=KIT00040"><strong>CLIQUE AQUI</strong></a> !!!
</p>
]]></content>
	</entry>
		<entry>
	  	<author>
			<name>Rafael Quines</name>
		</author>
		<title type="text/html" mode="escaped"><![CDATA[Arduino Placa de Desenvolvimento Open-Source]]></title>
		<link rel="alternate" type="text/html" href="http://www.rafaelquines.com/blog/2008/09/arduino-open-source/" />
		<id>http://www.rafaelquines.com/blog/2008/09/arduino-open-source/</id>
		<modified>2008-09-13T13:41:04Z</modified>
		<issued>2008-09-13T13:41:04Z</issued>
		
		<dc:subject>Eletrônica</dc:subject>
 
		<summary type="text/plain" mode="escaped"><![CDATA[<br />
<b>Deprecated</b>:  preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in <b>/home/rafaelquines/rafaelquines.com/blog/wp-includes/functions-formatting.php</b> on line <b>83</b><br />
Arduino é um projeto de circuito baseado em microprocessador de código aberto, da indústria Atmel. Uma placa física em código aberto baseada em um circuito de entradas/saídas simples. É também um ambiente de desenvolvimento do software Arduino. Sua linguagem de programação Arduino é uma implementação do Wiring, construída em Processing.


O Arduino pode ser usado para [...]]]></summary>
		<content type="text/html" mode="escaped" xml:base="http://www.rafaelquines.com/blog/2008/09/arduino-open-source/"><![CDATA[<br />
<b>Deprecated</b>:  preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in <b>/home/rafaelquines/rafaelquines.com/blog/wp-includes/functions-formatting.php</b> on line <b>83</b><br />
<p>Arduino é um projeto de circuito baseado em microprocessador de código aberto, da indústria Atmel. Uma placa física em código aberto baseada em um circuito de entradas/saídas simples. É também um ambiente de desenvolvimento do software Arduino. Sua linguagem de programação Arduino é uma implementação do Wiring, construída em Processing.</p>
<p><img src="http://rafaelquines.com/img/arduino.jpg"></p>
<p><a id="more-30"></a></p>
<p>O Arduino pode ser usado para desenvolver objetos interativos, tomando entradas de vários switches ou sensores, e controlando uma variedade de luzes, motores, mecanismos, entre outras saídas. Os projetos do Arduino podem tanto ser autônomos, como se comunicar com softwares.<br />
As placas podem ser montadas à mão ou compradas; o código fonte IDE é livre, podendo ser baixado no próprio site do <a href="http://www.arduino.cc">Arduino</a>.</p>
<p>Como o Arduino é um produto dos EUA, por ser de código aberto, as empresas de desenvolvimento de hardware muitas vezes desenvolvem as suas. Por exemplo, eu comprei a <a href="http://www.tato.ind.br/detalhesproduto.asp?id=91">Tatuino</a> que é a versão fabricada pela <a href="http://www.tato.ind.br">Tato</a> 100% compatível com o Arduino. Como o Tatuino, existem Severino, Freeduino, etc.</p>
<p>É uma excelente placa de desenvolvimento para quem precisa fazer projetos de hardware, e muitas vezes não tem tanto conhecimento de eletrônica. Já tem na internet uma série de bibliotecas (C++) que podem ser incluídas no seu código fonte p/ as mais variadas funções, ex: Serial, Interrupção de Timer, Manchester (RF), etc. Segue as especificações:</p>
<p>Microcontroller	ATmega168<br />
Operating Voltage	5V<br />
Input Voltage (recommended)	7-12 V<br />
Input Voltage (limits)	6-20 V<br />
Digital I/O Pins	14 (of which 6 provide PWM output)<br />
Analog Input Pins	6<br />
DC Current per I/O Pin	40 mA<br />
DC Current for 3.3V Pin	50 mA<br />
Flash Memory	16 KB (of which 2 KB used by bootloader)<br />
SRAM	1 KB<br />
EEPROM	512 bytes<br />
Clock Speed	16 MHz</p>
<p>E o mais interessante é que não necessita de nenhum hardware adicional para fazer a gravação no microcontrolador. Ele já vem com um BootLoader, capaz de receber todo o seu programa via serial (no caso do Arduino, ele vem com um CI da FTDI que transforma USB x Serial, assim pode conectar na USB do PC). Mas com essas especificações, já dá pra brincar um pouquinho neh&#8230;
</p>
]]></content>
	</entry>
		<entry>
	  	<author>
			<name>Rafael Quines</name>
		</author>
		<title type="text/html" mode="escaped"><![CDATA[Novo Projeto Pessoal - Acionando Relés s/ Fio]]></title>
		<link rel="alternate" type="text/html" href="http://www.rafaelquines.com/blog/2008/05/novo-projeto-pessoal-acionando-reles-s-fio/" />
		<id>http://www.rafaelquines.com/blog/2008/05/novo-projeto-pessoal-acionando-reles-s-fio/</id>
		<modified>2008-05-21T01:59:38Z</modified>
		<issued>2008-05-21T01:59:38Z</issued>
		
		<dc:subject>Sem Categoria</dc:subject>
 
		<summary type="text/plain" mode="escaped"><![CDATA[<br />
<b>Deprecated</b>:  preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in <b>/home/rafaelquines/rafaelquines.com/blog/wp-includes/functions-formatting.php</b> on line <b>83</b><br />
Todos os dias, tento cada vez mais pensar em produtos e serviços que possam vir a tornar mais prática a vida das pessoas. Acho que toda empresa de tecnologia deve pensar isso, sempre tentando desenvolver softwares para simplificar o dia-a-dia. Atualmente, junto com meu amigo Matheus Zeuch, estamos planejando um sistema onde o usuário possa [...]]]></summary>
		<content type="text/html" mode="escaped" xml:base="http://www.rafaelquines.com/blog/2008/05/novo-projeto-pessoal-acionando-reles-s-fio/"><![CDATA[<br />
<b>Deprecated</b>:  preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in <b>/home/rafaelquines/rafaelquines.com/blog/wp-includes/functions-formatting.php</b> on line <b>83</b><br />
<p>Todos os dias, tento cada vez mais pensar em produtos e serviços que possam vir a tornar mais prática a vida das pessoas. Acho que toda empresa de tecnologia deve pensar isso, sempre tentando desenvolver softwares para simplificar o dia-a-dia. Atualmente, junto com meu amigo <a href="http://webhorizon.com.br/matheus">Matheus Zeuch</a>, estamos planejando um sistema onde o usuário possa controlar qualquer lâmpada, janela, ar-condicionado, etc. Tudo através de um celular, ou um browser utilizando a internet, de qualquer lugar do mundo.</p>
<p>Uma grande vantagem de nosso projeto é a capacidade de instalarmos os hadware no cliente sem o uso de fios. Não precisa ir fio da placa de comunicação, até a lâmpada a ser controlada. Esse é um grande argumento na hora de sugerir o processo a um cliente.</p>
<p><a id="more-28"></a></p>
<p>Mas a pergunta que fica no ar: &#8220;Como diabos os caras vão bater um relé que controlará uma lâmpada, sem no mínimo 2 fios que vá da placa de comunicação até a lâmpada?&#8221;. A resposta é simples: usando rádio-frequência.</p>
<p>Imagine que na lâmpada, tenho um equipamento que contém um receptor RF e um relé. Claro, além de um processadorzinho pra tratar o que é recebido pelo RF. Bom, digo pra essa plaquinha o seguinte: Fulana, qnd vc receber o valor &#8220;123123&#8243; por rádio, inverta o estado do relé. Ae posso instalar 1 milhão de plaquinhas dessas, cada uma com o seu código, e uma em cada coisa que quero controlar, ex: lâmpadas, ar-condicionado, motores de aquário, janela a motor, abajour, qualquer periférico que seja acionado por um contato físico.</p>
<p><img src="http://rafaelquines.com/img/diagrama_home.jpg" alt="Ilustração" /><br />
Imagem: <a href="http://www.airwire.com.br">http://www.airwire.com.br</a></p>
<p>Com isso, já posso ativar/desativar esses equipamentos via um controle-remoto. Pois o que o controle de garagem, alarme de carro, etc; fazem, é exatamente isso: mandam um código. Se este código estiver no alarme do seu carro, por exemplo, o carro acionará o alarme.</p>
<p>Depois, para fazer a parte da comunicação com o PC, precisariamos de um equipamento com uma interface de rede, e que de alguma maneira (seria mta bondade minha se eu desse todo o caminho das pedras neh) eu possa simular um controle remoto, e enviar por RF o código de cada um dos relés no momento em que eu quero acionar cada um deles.</p>
<p>Bom, é nisso que estou envolvido nesse momento, nos tempos livres. Se alguém quiser compartilhar experi}ências, ou fazer perguntas sobre o projeto, e se interessar para dar idéias, estamos abertos a novas opiniões. Estou desenvolvendo um primeiro protótipo na minha protoboard. Não tá muito bonito, com um monte de fios misturados, mas o mais importante é que funciona&#8230;.
</p>
]]></content>
	</entry>
		<entry>
	  	<author>
			<name>Rafael Quines</name>
		</author>
		<title type="text/html" mode="escaped"><![CDATA[Estou de volta]]></title>
		<link rel="alternate" type="text/html" href="http://www.rafaelquines.com/blog/2008/05/estou-de-volta/" />
		<id>http://www.rafaelquines.com/blog/2008/05/estou-de-volta/</id>
		<modified>2008-05-05T04:06:24Z</modified>
		<issued>2008-05-05T04:06:24Z</issued>
		
		<dc:subject>Pessoal</dc:subject>
 
		<summary type="text/plain" mode="escaped"><![CDATA[<br />
<b>Deprecated</b>:  preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in <b>/home/rafaelquines/rafaelquines.com/blog/wp-includes/functions-formatting.php</b> on line <b>83</b><br />
Bom, devo um milhão de desculpas para os fiéis leitores do meu blog. Estou sempre tentando inventar equipamentos, ou inventar serviços WEB, ou até inventar soluções que ainda não tenham sido bem exploradas, mas nesse início de ano, minha vida virou de pernas pro ar. Aconteceram tantas coisas que o blog foi uma das coisas [...]]]></summary>
		<content type="text/html" mode="escaped" xml:base="http://www.rafaelquines.com/blog/2008/05/estou-de-volta/"><![CDATA[<br />
<b>Deprecated</b>:  preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in <b>/home/rafaelquines/rafaelquines.com/blog/wp-includes/functions-formatting.php</b> on line <b>83</b><br />
<p>Bom, devo um milhão de desculpas para os fiéis leitores do meu blog. Estou sempre tentando inventar equipamentos, ou inventar serviços WEB, ou até inventar soluções que ainda não tenham sido bem exploradas, mas nesse início de ano, minha vida virou de pernas pro ar. Aconteceram tantas coisas que o blog foi uma das coisas que ficaram sem atualização.<br />
<a id="more-29"></a></p>
<p>O início da história triste é que fiquei tão indignado com a desorganização da empresa em que eu estava trabalhando que comecei a procurar outro emprego. Fui parar numa empresa (não vale a pena citar nomes) em uma cidade a 40km aqui da capital. Como já estava pensando em sair da casa dos meus pais, fui atras de um JK nessa cidade e acabei me mudando. O emprego não estava legal. Eu estava acostumado com essa parte de desenvolvimento para integração de hardware e software, imaginem como me senti fazendo telinhas HTML com JSP durante as demoradas 8 horas de cada dia da semana.</p>
<p>Passados 3 dias, já estava morando há 1 min da empresa. E no 15º dia, estava quase me atirando da janela do prédio, pois não estava mais aguentando aquela vida rotineira, sem conquistas e nem desafios diários. E nessa mesma época, adivinha quem me ligou pra me chamar pra trabalhar pra eles? A Commbox, empresa que eu já fazia serviços terceirizados, no qual gostava bastante, e agora queriam que eu fosse o responsável pela área de TI da empresa. Saí correndo e fui trabalhar pra Commbox.</p>
<p>Bom, quando voltei pra Porto Alegre, já resolvi que ia morar com minha namorada, e tive que fazer mudanças novamente. Hoje, estou levando vida de casado com minha noiva, trabalhando numa área muito legal, q eu gosto bastante, e de bem com a vida. Estou de volta para escrever os posts técnicos, tanto na área de Java quanto na área de integração geral de hardware e software.
</p>
]]></content>
	</entry>
		<entry>
	  	<author>
			<name>Rafael Quines</name>
		</author>
		<title type="text/html" mode="escaped"><![CDATA[Varargs - Mais um recurso do Java 5]]></title>
		<link rel="alternate" type="text/html" href="http://www.rafaelquines.com/blog/2007/12/varargs-mais-um-recurso-do-java-5/" />
		<id>http://www.rafaelquines.com/blog/2007/12/varargs-mais-um-recurso-do-java-5/</id>
		<modified>2007-12-11T23:19:38Z</modified>
		<issued>2007-12-11T23:19:38Z</issued>
		
		<dc:subject>Java</dc:subject>
 
		<summary type="text/plain" mode="escaped"><![CDATA[<br />
<b>Deprecated</b>:  preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in <b>/home/rafaelquines/rafaelquines.com/blog/wp-includes/functions-formatting.php</b> on line <b>83</b><br />
Varargs é um dos novos recursos do Java 5, que como o nome já diz, lhe permite fazer com que um método de uma classe receba parâmetros variáveis. Por exemplo, você quer que o seu método receba 1 int, ou um array. Nas versões anteriores ao Java 5, você teria duas maneiras de fazer:

class Varargs1 [...]]]></summary>
		<content type="text/html" mode="escaped" xml:base="http://www.rafaelquines.com/blog/2007/12/varargs-mais-um-recurso-do-java-5/"><![CDATA[<br />
<b>Deprecated</b>:  preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in <b>/home/rafaelquines/rafaelquines.com/blog/wp-includes/functions-formatting.php</b> on line <b>83</b><br />
<p>Varargs é um dos novos recursos do Java 5, que como o nome já diz, lhe permite fazer com que um método de uma classe receba parâmetros variáveis. Por exemplo, você quer que o seu método receba 1 int, ou um array. Nas versões anteriores ao Java 5, você teria duas maneiras de fazer:</p>
<pre name="code" class="java">
class Varargs1 {
    public void metodoTeste(int a) {
        //a implementação tratará um único int
    }
    public void metodoTeste(int[] a) {
        //a implementação tratará o array
    }
}
</pre>
<p><a id="more-26"></a><br />
ou então, teria um método apenas, que recebesse um array, e quando quisesse passar um elemento apenas, deveria fazer o seguinte:</p>
<pre name="code" class="java">
...
int x = 4;
metodoTeste(new int[]{x});
...
</pre>
<p>Este problema foi completamente resolvido na versão 5. Para usar o varargs, você coloca o tipo acompanhado de reticiências &#8220;&#8230;&#8221; e depois o nome da variável, como mostra o exeplo:</p>
<pre name="code" class="java">
class Varargs1 {
    public void metodoTeste(int... a) {
        /*
        a implementação tratará da variável a como
        um array, tendo ou não valores...
        */
    }
}
</pre>
<p>Dessa maneira, o método pode ser chamado assim:</p>
<pre name="code" class="java">
metodoTeste();
metodoTeste(5);
metodoTeste(1, 23, 56, 10);
metodoTeste(new int[]{5, 6, 7, 8});
</pre>
<p>Para manipular os dados que o método recebeu, sempre será um vetor, e é fácil de identificar através da propriedade length:</p>
<pre name="code" class="java">
class Varargs1 {
    public void metodoTeste(int... a) {
        if(a.length == 0) {
            //Não recebeu nenhum valor
        } else {
            //Recebeu 1 um mais ints
        }
    }
}
</pre>
<p><strong>ATENÇÃO: </strong>quando se combina o varargs com outros parâmetros num método, é imprescindível que a variável que use as reticiências fique como <strong>último parâmetro</strong>. Notem que isto é questão de certificação.</p>
<pre name="code" class="java">
class Varargs1 {
    /* CORRETO */
    public void metodoTeste(String str, int x, double... d) {
        ...
    }
    /* INCORRETO */
    public void metodoTeste(String str, double... d, int x) {
        ...
    }
}
</pre>
<p>Para acessar a documentação oficial da SUN, clique <a href="http://java.sun.com/developer/JDCTechTips/2005/tt0104.html#1">AQUI</a>.
</p>
]]></content>
	</entry>
		<entry>
	  	<author>
			<name>Rafael Quines</name>
		</author>
		<title type="text/html" mode="escaped"><![CDATA[Covariant, o que é e para que serve?!?]]></title>
		<link rel="alternate" type="text/html" href="http://www.rafaelquines.com/blog/2007/12/covariant-o-que-e-e-para-que-serve/" />
		<id>http://www.rafaelquines.com/blog/2007/12/covariant-o-que-e-e-para-que-serve/</id>
		<modified>2007-12-11T02:19:16Z</modified>
		<issued>2007-12-11T02:19:16Z</issued>
		
		<dc:subject>Desenvolvimento</dc:subject>

		<dc:subject>Java</dc:subject>
 
		<summary type="text/plain" mode="escaped"><![CDATA[<br />
<b>Deprecated</b>:  preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in <b>/home/rafaelquines/rafaelquines.com/blog/wp-includes/functions-formatting.php</b> on line <b>83</b><br />
No decorrer dos meus estudos, me deparei com esse tal de covariant, segue o exercício (pág 17, Certificação Java 5):
5. O tipo de retorno Covariant permite o método da subclasse retornar uma ______(subclasse/superclasse) do tipo de retorno do método da superclasse.
Resposta (pág 20):  &#8220;subclasse&#8221;. Explicação: &#8220;Tipo de retorno Covariant&#8221; é uma nova característica (Java [...]]]></summary>
		<content type="text/html" mode="escaped" xml:base="http://www.rafaelquines.com/blog/2007/12/covariant-o-que-e-e-para-que-serve/"><![CDATA[<br />
<b>Deprecated</b>:  preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in <b>/home/rafaelquines/rafaelquines.com/blog/wp-includes/functions-formatting.php</b> on line <b>83</b><br />
<p>No decorrer dos meus estudos, me deparei com esse tal de covariant, segue o exercício (pág 17, Certificação Java 5):</p>
<p>5. O tipo de retorno Covariant permite o método da subclasse retornar uma ______(subclasse/superclasse) do tipo de retorno do método da superclasse.</p>
<p><strong>Resposta (pág 20):  &#8220;subclasse&#8221;. Explicação: &#8220;Tipo de retorno Covariant&#8221; é uma nova característica (Java 5) que permite a você declarar um tipo de retorno que seja subclasse do tipo de retorno do método sobrescrito</strong>.<br />
<a id="more-25"></a></p>
<p>Confuso não!?!?</p>
<p>Vamos entender então.</p>
<p>Vamos supor que vc faça uma classe como a seguinte:</p>
<pre name="code" class="java">
class A { };
</pre>
<pre name="code" class="java">
class B extends A {};
</pre>
<p>Agora, uma classe Super, que contém um método que retorna um objeto tipo A:</p>
<pre name="code" class="java">
class Super {
    public A nomeMetodo() {
        return new A();
    }
}
</pre>
<p>Agora, vamos definir uma classe Sub, que extende Super. No Java até 1.4, você não pode sobrescrever o método “nomeMetodo()”, mudando seu tipo de retorno. O código a seguir não compilaria:</p>
<pre name="code" class="java">
class Sub {
    public B nomeMetodo() {
        return new B();
    }
}
</pre>
<p>E é exatamente isso que agora, no Java 5, funciona. Mas há uma condição: o tipo de retorno do método sobrescrito deve ser do mesmo nível, ou filho, do tipo de retorno do método da classe pai, ou seja, o método “nomeMetodo()” da classe Sub só funciona, no Java 5, porque a classe B extende a classe A. Portanto, agora é possível sobrescrever um método herdado e alterar seu tipo de retorno, desde que seja filho do tipo de retorno da classe pai.</p>
<p>Bom, é isso ae. Espero ter sanado as dúvidas sobre mais essa nova implementação do Java 5. Para você que ficou com alguma dúvida, segue o link da SUN que trata desse assunto: <a title="Covariant Return Type" target="_blank" href="http://java.sun.com/developer/JDCTechTips/2005/tt0104.html#2">AQUI</a>.
</p>
]]></content>
	</entry>
	</feed>
