sir
we tried lots of time but,
we are unable to read accelerometer
please tell me something
#include<avr/io.h>
#include<compat/deprecated.h>
#include<util/delay.h>
#include<ilcd.h>
#define SID 9 //sending ID
#define CID 5 // channel ID
#define RID 9 // Receive ID
#define rew PORTC = 0b00001001
#define fwd PORTC = 0b00000110
#define tleft PORTC = 0b00001010
#define tright PORTC = 0b00000101
#define stop PORTC = 0b00000000
#define Maxspeed 250
#define Turnpeed 200
void init_usart(void);
unsigned char receive_data(void);
void config_cc(void);
void transmit_data(unsigned char data);
unsigned char a;
signed int x,y,z;
void right_speed(char);
void left_speed(char);
void init_port(void);
int main(void)
{
init_port();
init_usart();
lcd_init();
config_cc();
lcd_prints("pankaj1");
_delay_ms(5000);
lcd_clrscr();
while(1)
{
a=receive_data();
if(a == '@' )
{
x=receive_data();
y=receive_data();
z=receive_data();
}
x=x & (0b00111111);
y=y & (0b00111111);
z=z & (0b00111111);
write_command(0x80);
lcd_prints("X= ");
lcd_printi(x);
write_command(0x88);
lcd_prints("Y= ");
lcd_printi(y);
write_command(0xc0);
lcd_prints("Z= ");
lcd_printi(z);
//x&=0x1F;
/*lcd_printi(x);*/
_delay_ms(500);
lcd_clrscr();
}
}
void init_usart(void)
{
UBRRL = 103;
UCSRB = (1 << RXEN) | (1 << TXEN);
UCSRC = (1 <<URSEL) | (1 <<UCSZ0) | (1 <<UCSZ1);
}
unsigned char receive_data(void)
{
while(!(UCSRA&(1<<RXC)))
{
; // DONOTHING LOOP
}
return UDR;
}
void config_cc(void)
{
transmit_data('<');
transmit_data(SID);
transmit_data(CID);
transmit_data('>');
}
void transmit_data(unsigned char data)
{
while(! (UCSRA & (1 << UDRE)))
{
; // DONOTHING LOOP
}
UDR = data;
}
void left_speed(char left_speed)
{
OCR1AH=0;
OCR1AL=left_speed;
ICR1L=250;
TCCR1A=0xA2;
TCCR1B=0x14;
}
void right_speed(char right_speed)
{
OCR1AH=0;
OCR1BL=right_speed;
ICR1L=250;
TCCR1A=0xA2;
TCCR1B=0x14;
}
void init_port(void)
{
DDRB=0b00000000;
DDRC=0b11111111;
DDRD=0b00110000;
DDRA=0b11111111;
}
