<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Nisi's work blog &#187; uControlers</title>
	<atom:link href="http://wiki.nisi.ro/category/hardware/microcontrolers/feed/" rel="self" type="application/rss+xml" />
	<link>http://wiki.nisi.ro</link>
	<description>Nisi's work blog - programing tips</description>
	<lastBuildDate>Mon, 21 Nov 2011 08:43:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>C for Atmega (GCC) Data Types</title>
		<link>http://wiki.nisi.ro/2008/03/10/</link>
		<comments>http://wiki.nisi.ro/2008/03/10/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 15:05:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Atmega128]]></category>
		<category><![CDATA[uControlers]]></category>
		<category><![CDATA[1.2. C#]]></category>
		<category><![CDATA[byte]]></category>
		<category><![CDATA[Data Types]]></category>
		<category><![CDATA[GCC]]></category>
		<category><![CDATA[int]]></category>

		<guid isPermaLink="false">http://wiki.nisi.ro/?p=10</guid>
		<description><![CDATA[Tipuri de date recunoscute de compilatorul GCC pentru microcontrolele de la Atmel Toate Exemplele sunt testate in Avr-Studio &#38; GCC plugin Tipuri Intregi de date 8 bit types typedef signed char&#160;&#160;&#160;&#160;&#160;&#160;&#160; int8_t typedef unsigned char&#160;&#160;&#160; uint8_t 16 bit types typedef int&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; int16_t typedef unsigned&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; int uint 32 bit types typedef long&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; int32_t typedef unsigned long&#160;&#160;&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>
<span style="font-weight: bold;">Tipuri</span> de date recunoscute de compilatorul GCC pentru microcontrolele de la Atmel<br />
<br />Toate Exemplele sunt testate in <span style="text-decoration: underline;">Avr-Studio &amp; GCC plugin</span><br />
</p>
<h2>Tipuri Intregi de date</h2>
<p><span style="font-weight: bold; text-decoration: underline;">8 bit types</span><br />
</p>
<ol>
<li>typedef signed char&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; font-style: italic;">int8_t</span></li>
<li>typedef unsigned char&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; font-style: italic;">uint8_t</span><br />
    </li>
</ol>
<p><span style="font-weight: bold; text-decoration: underline;">16 bit types</span><br />
</p>
<ol>
<li>typedef int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; font-style: italic;">int16_t</span></li>
<li>typedef unsigned&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; font-style: italic;">int uint</span></li>
</ol>
<p><span style="font-weight: bold; text-decoration: underline;">32 bit types</span><br />
</p>
<ol>
<li>typedef long&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; font-style: italic;">int32_t</span></li>
<li>typedef unsigned long&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; font-style: italic;">uint32_t</span><br />
    </li>
</ol>
<p><span style="font-weight: bold; text-decoration: underline;">64 bit types</span><br />
</p>
<ol>
<li>typedef long long&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; font-style: italic;">int64_t</span></li>
<li>typedef unsigned long long&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; font-style: italic;">uint64_t</span></li>
</ol>
<p><span style="font-weight: bold; text-decoration: underline;">Pointer Types<br />
  <br /></span></p>
<ul>
<li>typedef int16_t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; font-style: italic;">intptr_t</span></li>
<li>typedef uint16_t&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; font-style: italic;">uintptr_t</span><br />
    </li>
</ul>
<p><span style="font-weight: bold; text-decoration: underline;"><br />
  <br /></span></p>
]]></content:encoded>
			<wfw:commentRss>http://wiki.nisi.ro/2008/03/10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Atmega 128 &#8211; UART Comunication</title>
		<link>http://wiki.nisi.ro/2008/03/atmega-128-uart-comunication/</link>
		<comments>http://wiki.nisi.ro/2008/03/atmega-128-uart-comunication/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 11:09:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Atmega128]]></category>
		<category><![CDATA[uControlers]]></category>
		<category><![CDATA[8 Mhz]]></category>
		<category><![CDATA[atmega128]]></category>
		<category><![CDATA[microcontroler]]></category>
		<category><![CDATA[Quartz]]></category>
		<category><![CDATA[Read UART]]></category>
		<category><![CDATA[UART0]]></category>
		<category><![CDATA[UART1]]></category>
		<category><![CDATA[UDR1]]></category>
		<category><![CDATA[Write UART]]></category>

		<guid isPermaLink="false">http://wiki.nisi.ro/?p=9</guid>
		<description><![CDATA[Exemplul este valabil pentru Atmega128 + Quartz 8MHz Atmega 128 &#8211; UART Comunication   UART0 Initializare                BaudRate 4800 se seteaza registrul UBRR1H = 0 si UBRR1L = 103                BaudRate 9600 se seteaza registrul UBRR1H = 0; UBRR1L = 51;                BaudRate 115200  &#8211; UBRR1H = 0; UBRR1L = 3; Activare Linie RX, TX si intreruperea aferenta [...]]]></description>
			<content:encoded><![CDATA[<p>Exemplul este valabil pentru Atmega128 + Quartz 8MHz<br />
</p>
<table border="0" width="610" cellPadding="0" cellSpacing="0">
<tr>
<td>
<p align="left"><strong>Atmega 128 &#8211; UART Comunication </strong> </p>
</td>
</tr>
<tr>
<td>
<ol>
<li><strong>UART0 </strong></li>
</ol>
<ul>
<li><strong><em>Initializare</em></strong></li>
</ul>
<p>               BaudRate 4800 se seteaza registrul <span class="style12"><span class="style7"><span class="CODCPP"><span style="color: #008000">UBRR1H = 0</span> si <span style="color: #008000">UBRR1L = 103</span></span></span></span></p>
<p><span class="style12"><span class="style7"><span class="CODCPP">               BaudRate 9600 se seteaza registrul <span class="style12"><span class="style8"><span style="color: #008000">UBRR1H = 0</span>; <span style="color: #008000">UBRR1L = 51</span>;</span></span></span></span></span></p>
<p><span class="style12"><span class="style7"><span class="CODCPP"><span class="style12"><span class="style8">               BaudRate 115200  &#8211; <span class="style12"><span class="style8"><span style="color: #008000">UBRR1H = 0</span>; <span style="color: #008000">UBRR1L = 3</span>;</span></span></span></span></span></span></span></p>
<ul>
<li><span class="style12"><span class="style7"><span class="CODCPP"><strong>Activare Linie RX, TX si intreruperea aferenta lui RX</strong></span></span></span></li>
</ul>
<p><span class="style12"><span class="style7"><span class="CODCPP"><strong>              </strong>- pentru a se putea citi date este necesar sa se activeze linia RX</span></span></span></p>
<p><span class="style12"><span class="style7"><span class="CODCPP">              &#8211; de asemenea pantru a se trimite date trebuie activata linia TX</span></span></span></p>
<p><span class="style12"><span class="style7"><span class="CODCPP">                         <span style="color: #008000">UCSR1B = (1&lt;&lt;RXEN1)|(1&lt;&lt;TXEN1)</span></span></span></span></p>
<p><span class="style12"><span class="style7"><span class="CODCPP">             &#8211; Pentru a citi date de pe linia RX exista 2 posibilitati: sa se astepte in continuu pana la RX vine &#8220;ceva&#8221; in cazul asta nu se mai poate face nimic altceva pana nu se citeste de la UART sau sa se semnaleze cu ajutorul unei intreruperi momentul exact cand vine o data pe Rx si doar atunci sa se faca citirea.</span></span></span></p>
<p><span class="style12"><span class="style7"><span class="CODCPP">            &#8211; Pentru a &#8220;spune&#8221; microcontrolerulul ca intreruperea pentru Rx este activata se foloseste urmatoarea linie de cod:</span></span></span></p>
<p><span class="style12"><span class="style7"><span class="CODCPP">                        <span style="color: #008000">UCSR1B = (1&lt;&lt;RXEN1)|(1&lt;&lt;TXEN1) | (1 &lt;&lt; RXCIE1)</span></span></span></span></p>
<ul>
<li><span class="style12"><span class="style7"><span class="CODCPP"> <strong>Restul de setari: (no parity, 8data, 1stop)</strong></span></span></span></li>
</ul>
<p><span class="style12"><span class="style7"><span class="CODCPP">                        <span style="color: #008000">UCSR1C = (3&lt;&lt;UCSZ10);</span></span></span></span></p>
<ul>
<li><span class="style12"><span class="style7"><span class="CODCPP"> <strong>Citire byte din UART1</strong></span></span></span></li>
</ul>
<p><span class="style12"><span class="style7"><span class="CODCPP"><strong>                      </strong><span style="color: #008000">while ((UCSR1A &amp; (1&lt;&lt;RXC1))==0);</span>   <span style="color: #0000ff">//  astept pana apare ceva la portul serial</span></span></span></span></p>
<p><span class="style12"><span class="style7"><span class="CODCPP">                      <span style="color: #008000">return UDR1;</span>   <span style="color: #0000ff">// dupa ce iese din while -ul de mai sus in UDR1 este disponibil un Byte</span></span></span></span></td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://wiki.nisi.ro/2008/03/atmega-128-uart-comunication/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

