<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>'Need Help With Code' Thread RSS Feed</title>
    <link>http://www.programmersheaven.com/</link>
    <description>Contains the latest posts from the thread 'Need Help With Code' posted on the 'Beginner C/C++' forum at Programmer's Heaven.</description>
    <language>en</language>
    <copyright>Copyright 2013 Programmers Heaven</copyright>
    <pubDate>Sun, 19 May 2013 00:05:39 -0700</pubDate>
    <lastBuildDate>Sun, 19 May 2013 00:05:39 -0700</lastBuildDate>
    <generator>Argotic Syndication Framework 2007.3.0.1, http://www.codeplex.com/Argotic</generator>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <ttl>360</ttl>
    <image>
      <url>http://www.programmersheaven.com/images/ph.gif</url>
      <title>Programmers Heaven</title>
      <link>http://www.programmersheaven.com/</link>
      <width>88</width>
      <height>31</height>
    </image>
    <item>
      <title>Need Help With Code</title>
      <link>http://www.programmersheaven.com/mb/beginnercpp/431029/431029/need-help-with-code/</link>
      <description>I need some help with my project. Im reading a accelerometer with ADC on port PA0 on a Atmega16. Im reading only X-axes. I want to add Y and Z also, but I dont know how.&lt;br /&gt;
Im reading the input with TeraTerm, line by line downwards. I want the y and Z to be added on the side of the X value.&lt;br /&gt;
IM using AVR studio 4.&lt;br /&gt;
&lt;br /&gt;
Can anyone help me with thsis?&lt;br /&gt;
&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="sourcecode"&gt;
#include&amp;lt;avr/io.h&amp;gt; 
#include&amp;lt;util/delay.h&amp;gt; 
#include&amp;lt;avr/interrupt.h&amp;gt; 
 


#define LONGOUT 7 
char buffer[LONGOUT];

void adc_init(void); 
unsigned int adc_read(void); 
void adc_conversion(uint16_t); 




// ADC configuration 
void ADC_init(void) { 
  ADMUX=(1&amp;lt;&amp;lt;REFS0); 
  ADCSRA=(1&amp;lt;&amp;lt;ADEN)|(7&amp;lt;&amp;lt;ADPS0); 
} 

uint16_t ADC_get_reading(void) { 
  ADCSRA |= (1&amp;lt;&amp;lt;ADSC); 
  while(ADCSRA &amp;amp; (1&amp;lt;&amp;lt;ADSC)); 
  return ADC; 
} 

uint16_t ADC_read(void) { 
  uint8_t i; 
  uint16_t retval = 0; 
  ADC_get_reading(); // dummy read - just discarded 
  for (i=0; i&amp;lt;8; i++) { 
    retval += ADC_get_reading(); 
  } 
  return retval / 8; 
} 


void init_UART(void)
{
	UCSRB = ((1 &amp;lt;&amp;lt; RXCIE) | (1 &amp;lt;&amp;lt; RXEN) | (1 &amp;lt;&amp;lt; TXEN)); 
    UCSRC = ((1 &amp;lt;&amp;lt; UCSZ1) | (1 &amp;lt;&amp;lt; UCSZ0)); 
    
    //Baud rate till 19200.  
    UBRRL = 25; 
    UBRRH = 0; 
}


void uart_sendchar(char c) { 
   while(!(UCSRA &amp;amp; (1&amp;lt;&amp;lt;UDRE))); 
   UDR = c; 
} 

void uart_printstring(char * str) { 
  while (*str) { 
   uart_sendchar(*str++); 
  } 
} 


void main(void) {
	
 DDRC = 0x00;	
 init_UART(); 
 ADC_init();
 
 
  while(1)
  {
	 if (PINC &amp;amp; 0x01) //If PortC pin 0 is True, program stops.
	{ 
 ADC_read(); 
           
 char buffer[8]; 
 itoa(ADC, buffer, 10); 
 uart_printstring(buffer);
 uart_printstring("\r\n"); 
 _delay_ms(1500); 
 
    } 
  }
}
&lt;/pre&gt;&lt;br /&gt;</description>
      <guid isPermaLink="true">http://www.programmersheaven.com/mb/beginnercpp/431029/431029/need-help-with-code/</guid>
      <pubDate>Tue, 22 Jan 2013 08:33:19 -0700</pubDate>
      <category>Beginner C/C++</category>
    </item>
  </channel>
</rss>