void main(void)
{
    volatile unsigned int i ;
	WDTCTL = WDTPW | WDTHOLD;	// Stop watchdog timer

	P1DIR |= 0x01;				// Port 1 pin 0 - LED1
	P4DIR |= 0b10000000;		// Port 4 pin 7 - LED2

	uart_init();

	char welcome_message[] = "Welcome to Serial Programming";


	while(welcome_message[i]!='\0')
	{
		UCA1TXBUF = welcome_message[i];
		while(UCA1STAT & UCBUSY);
	  		i++;
	}

	while(1)
	    {
			uart_char('S');
			uart_char('\n');
			uart_char('\r');
			uart_string("Saurav Shandilya");
			uart_char('\n');
			uart_char('\r');
	    }
}
Exemple #2
0
void userApp2(void * args)
{
	while(1)
	{
		uart_string("in userApp2");
		OSTimeDly(100);
	}
}
Exemple #3
0
//-------------------------------------------------------------------
void notmain ( void )
{
    disable_watchdog();
    hexstring(0x12345678);
    uart_string("Hello World!\r\n");
    hexstring(0x12345678);
    while(1)
    {
        uart_putc(uart_getc());
    }
}
Exemple #4
0
//-------------------------------------------------------------------
int notmain ( void )
{
    unsigned int ra;
    volatile unsigned int beg,end;

    ra=GET32(RCC_APB1ENR);
    ra|=1<<3;   //enable TIM5
    PUT32(RCC_APB1ENR,ra);
    PUT16(TIM5BASE+0x00,0x0000);
    PUT16(TIM5BASE+0x00,0x0001);

    PUT32(CPACR,GET32(CPACR)|(0xF<<20));

    clock_init();
    uart_init();


    hexstring(0x12345678,1);

    //instruction cache, data cache and prefetch
    ra=GET32(FLASH_ACR);
    PUT32(FLASH_ACR,ra|0x700);

    uart_string("\nHello World!\n");

    beg=GET32(TIM5BASE+0x24);
    ra=add(1,1,LOOPS);
    end=GET32(TIM5BASE+0x24);
    hexstring(end-beg,1);
    beg=GET32(TIM5BASE+0x24);
    ra=add(1,1,LOOPS);
    end=GET32(TIM5BASE+0x24);
    hexstring(end-beg,1);
    beg=GET32(TIM5BASE+0x24);
    ra=m4add(1.0F,1.0F,LOOPS);
    end=GET32(TIM5BASE+0x24);
    hexstring(end-beg,1);
    beg=GET32(TIM5BASE+0x24);
    ra=m4add(1.0F,1.0F,LOOPS);
    end=GET32(TIM5BASE+0x24);
    hexstring(end-beg,1);
    beg=GET32(TIM5BASE+0x24);
    ra=add(1,1,LOOPS);
    end=GET32(TIM5BASE+0x24);
    hexstring(end-beg,1);
    beg=GET32(TIM5BASE+0x24);
    ra=m4add(1.0F,1.0F,LOOPS);
    end=GET32(TIM5BASE+0x24);
    hexstring(end-beg,1);
    hexstring(0x12345678,1);
    return(0);
}
Exemple #5
0
int printf(const char *fmt, ...)
{
	int i;
	int len;
	va_list args;

	va_start(args, fmt);
	len = vsprintf(g_pcOutBuf,fmt,args);
	va_end(args);
	
    uart_string(g_pcOutBuf);

	return len;
}
void userApp2(void * args)
{
    int i;
    INP_GPIO(16);
    OUT_GPIO(16);
	while(1)
	{
        //DisableInterrupts();
		read_dht11_dat();
        //EnableInterrupts();

		PUT32(GPCLR0, 1 << 16);
		OSTimeDly(1000);
		uart_string("in userApp2");
		OSTimeDly(1000);
	}
}
void read_dht11_dat()
{
	uint8_t laststate	= HIGH;
	uint8_t counter		= 0;
	uint8_t j		= 0, i;
	float	f; 
    uint32_t * read_addr = (uint32_t *) 0x20200034;
    uint32_t dht_mask = 1 << DHTPIN;
 
	// init dht11_dat to ZERO
	dht11_dat[0] = dht11_dat[1] = dht11_dat[2] = dht11_dat[3] = dht11_dat[4] = 0;

	/* host send start signal */
	// pinMode( DHTPIN, OUTPUT );
    INP_GPIO(DHTPIN);
    OUT_GPIO(DHTPIN); 

    //uart_string("bef clr: ");
    //print_dht();
	// digitalWrite( DHTPIN, LOW );
    GPIO_CLR = dht_mask;

    //uart_string("aft clr: ");
    //print_dht();
    

    int wtf_delay_cnt = 0;
    while(1){
        if(wtf_delay_cnt == 2)
            break;
        OSTimeDly(10);
        wtf_delay_cnt++;
    }
        


	//delay( 18 );
	//wtf_delay(18000);
	// digitalWrite( DHTPIN, HIGH );

    //uart_string("bef set: ");
    //print_dht();
    GPIO_SET = dht_mask;
    //uart_string("aft set: ");
    //print_dht();
	//delayMicroseconds( 40 );
	wtf_delay(40);
 
    INP_GPIO(DHTPIN);
	// receive data
    DisableInterrupts();
	for ( i = 0; i < MAXTIMINGS; i++ )
	{
		counter = 0;
		while ( digitalRead(DHTPIN) == laststate )
		{
			counter++;
			//delayMicroseconds( 1 );
			wtf_delay(1);
			if ( counter == 255 )
			{
				break;
			}
		}
		laststate = digitalRead( DHTPIN );
 
		if ( counter == 255 )
			break;
 
		/* ilk 3 donusumu atla */
		if ( (i >= 4) && (i % 2 == 0) )
		{
			dht11_dat[j / 8] <<= 1;
			if ( counter > 16 )
				dht11_dat[j / 8] |= 1;
			j++;
		}
	}
    EnableInterrupts();

 
	if ( (j >= 40) &&
	     (dht11_dat[4] == ( (dht11_dat[0] + dht11_dat[1] + dht11_dat[2] + dht11_dat[3]) & 0xFF) ) )
	{
		f = dht11_dat[2] * 9. / 5. + 32;
		//printf( "Nem = %d.%d %% Sıcaklık = %d.%d *C (%.1f *F)\n",
	//		dht11_dat[0], dht11_dat[1], dht11_dat[2], dht11_dat[3], f );
		uart_string("Nem & Sicaklik: ");
		hexstrings(dht11_dat[0]);
		uart_string("\n");
		hexstrings(dht11_dat[2]);
		uart_string("\n");
	}else  {
		uart_string("data arriving.\n");
	}
}
int main(void)
{//all initializations
	int i,j,z,n;
	z=1;
i=0;
j=0;
DDRB|=0xFF;
DDRD|=0xFF;
DDRC|=0xFF;
TCCR1A|=(1<<WGM11)|(1<<COM1B1)|(1<<COM1A1)|(1<<COM1A0)|(1<<COM1B0);
TCCR1B|=(1<<WGM13)|(1<<WGM12)|(1<<CS11);
ICR1=19999;
	
	
	uart_init();
	while(1){
		
		
			while(1){i=0;
int grabbed=0;
			char input9[100]=" ";
		while(1) {input9[i] = uart_read();
			if (input9[i]=='.') 
			break;
			i++;}
		
		if(strcmp(input9,"Grab.")==0||strcmp(input9,"\nGrab.")==0)
		{//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++	
		//code to hold cube in 2 brackets, add delay and then hold with other 2 brackets if you want
PORTC=0b00001000;//select linear RL
		OCR1A=19150;
		_delay_ms(5000);
		PORTC=0b00000001;//select linear FB
		OCR1B=19150;
		_delay_ms(5000);
	
		//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++	
		grabbed=1;
		uart_string("Grabbed.\n");
			}
		else if(strcmp(input9,"Ungrab.")==0||strcmp(input9,"\nUngrab.")==0)
			{//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++	
		//all brackets go back,leaving cube
PORTC=0b00000000;//select linear RL and FB
			OCR1A=17200;
			OCR1B=17200;
			_delay_ms(5000);
	
		//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++	
		grabbed=0;
		uart_string("Ungrabbed.\n");
		
			}
		else if(strcmp(input9,"Start.")==0||strcmp(input9,"\nStart.")==0)
			{
				
//if (grabbed==1)
//{
uart_string("Ready.\n");
goto right;
	//}
			}


else {uart_string("Invalid.\n");
	uart_num(strcmp(input9,"Start."));
	uart_string(input9);
}
		}

	
		//*******************************************************************************************//Right	
		right:
		i=0;
		char input6[100]=" ";
		
		while(1) {
			input6[i] = uart_read();//read char
			if (input6[i]=='.')
			break;
			i++;
			
		}
		
		
		
		if(strcmp(input6,"\nRight.")==0)
		{
		//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++	
		//code to bring R to the top face

PORTC=0b00000001;//select linear FB
		OCR1B=17200;
		_delay_ms(100);
		PORTC=0b00100100;//select R and L
		OCR1A=17200;
		OCR1B=19150;
		_delay_ms(100);
		PORTC=0b00000001;//select linear FB
		OCR1B=19150;
		_delay_ms(100);
		PORTC=0b00001000;//select linear RL
		OCR1A=17200;
		_delay_ms(100);
		PORTC=0b00100100;//select R and L
		OCR1A=18250;
		OCR1B=18250;
		_delay_ms(100);
		PORTC=0b00010010;//select B and F
		OCR1B=17200;
		OCR1A=19150;
		_delay_ms(100);
		PORTC=0b00001000;//select linear RL
		OCR1A=19150;
		_delay_ms(100);
		PORTC=0b00000001;//select linear FB
		OCR1B=17200;
		_delay_ms(100);
		PORTC=0b00010010;//select B and F
		OCR1B=18250;
		OCR1A=18250;
		_delay_ms(100);
		PORTC=0b00000001;//select linear FB
		OCR1B=19150;
		_delay_ms(100);

		//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++	
		uart_string("Right.\n");
		}
		else {
		uart_num(strcmp(input6,"\nRight."));
			goto right;
		}
		//*******************************************************************************************//front
		front:
		i=0;
		char input1[100]=" ";
		
		
		while(1) {
			input1[i] = uart_read();//read char
			if (input1[i]=='.')
			break;
			i++;
			
		}
		
		
		if(strcmp(input1,"\nFront.")==0)
		{//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		//code to bring F to the top face
		PORTC=0b00001000;//select linear RL
		OCR1A=17200;
		_delay_ms(100);
		PORTC=0b00010010;//select B and F
		OCR1A=17200;
		OCR1B=19150;
		_delay_ms(100);
		PORTC=0b00001000;//select linear RL
		OCR1A=19150;
		_delay_ms(100);
		PORTC=0b00000001;//select linear FB
		OCR1B=17200;
		_delay_ms(100);
		PORTC=0b00010010;//select B and F
		OCR1B=18250;
		OCR1A=18250;
		_delay_ms(100);
		PORTC=0b00000001;//select linear FB
		OCR1B=19150;
		_delay_ms(100);
		//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++	
		uart_string("Front.\n");
		}	
		else goto front;
		//*******************************************************************************************//down
		down:
		i=0;
		char input2[100]=" ";
		
		
		while(1) {
			input2[i] = uart_read();//read char
			if (input2[i]=='.')
			break;
			i++;
			
		}
		
		if(strcmp(input2,"\nDown.")==0)
		{//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		//code to bring D to the top face
			
PORTC=0b00000001;//select linear FB
		OCR1B=17200;
		_delay_ms(100);
		PORTC=0b00100100;//select R and L
		OCR1A=17200;
		OCR1B=19150;
		_delay_ms(100);
		PORTC=0b00000001;//select linear FB
		OCR1B=19150;
		_delay_ms(100);
		PORTC=0b00001000;//select linear RL
		OCR1A=17200;
		_delay_ms(100);
		PORTC=0b00100100;//select R and L
		OCR1A=18250;
		OCR1B=18250;
		_delay_ms(100);
		PORTC=0b00001000;//select linear RL
		OCR1A=19150;
		_delay_ms(100);
			
	//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		uart_string("Down.\n");
		}
		else goto down;
		//*******************************************************************************************//left
		left:
		i=0;
		char input3[100]=" ";
		
		
		while(1) {
			input3[i] = uart_read();//read char
			if (input3[i]=='.')
			break;
			i++;
			
		}
		
		
		if(strcmp(input3,"\nLeft.")==0)
		{//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		//code to bring L to the top face


PORTC=0b00000001;//select linear FB
		OCR1B=17200;
		_delay_ms(100);
		PORTC=0b00100100;//select R and L
		OCR1A=19150;
		OCR1B=17200;
		_delay_ms(100);
		PORTC=0b00000001;//select linear FB
		OCR1B=19150;
		_delay_ms(100);
		PORTC=0b00001000;//select linear RL
		OCR1A=17200;
		_delay_ms(100);
		PORTC=0b00100100;//select R and L
		OCR1A=18250;
		OCR1B=18250;
		_delay_ms(100);
		PORTC=0b00010010;//select B and F
		OCR1A=17200;
		OCR1B=19150;
		_delay_ms(100);
		PORTC=0b00001000;//select linear RL
		OCR1A=19150;
		_delay_ms(100);
		PORTC=0b00000001;//select linear FB
		OCR1B=17200;
		_delay_ms(100);
		PORTC=0b00010010;//select B and F
		OCR1B=18250;
		OCR1A=18250;
		_delay_ms(100);
		PORTC=0b00000001;//select linear FB
		OCR1B=19150;
		_delay_ms(100);


		//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++	
		uart_string("Left.\n");
		}
		else goto left;
		//*******************************************************************************************//back
		back:
		i=0;
		char input4[100]=" ";
		
		
		while(1) {
			input4[i] = uart_read();//read char
			if (input4[i]=='.')
			break;
			i++;
			
		}
		
		
		if(strcmp(input4,"\nBack.")==0)
		{//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		//code to bring B to the top face
PORTC=0b00001000;//select linear RL
		OCR1A=17200;
		_delay_ms(100);
		PORTC=0b00010010;//select B and F
		OCR1A=17200;
		OCR1B=19150;
		_delay_ms(100);
		PORTC=0b00001000;//select linear RL
		OCR1A=19150;
		_delay_ms(100);
		PORTC=0b00000001;//select linear FB
		OCR1B=17200;
		_delay_ms(100);
		PORTC=0b00010010;//select B and F
		OCR1B=18250;
		OCR1A=18250;
		_delay_ms(100);
		PORTC=0b00000001;//select linear FB
		OCR1B=19150;
		_delay_ms(100);

		//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++	
		uart_string("Back.\n");
		}
		else goto back;
		//*******************************************************************************************//
		//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		//write code to bring U on top again


PORTC=0b00000001;//select linear FB
		OCR1B=17200;
		_delay_ms(100);
		PORTC=0b00010010;//select B and F
		OCR1A=17200;
		OCR1B=19150;
		_delay_ms(100);
		PORTC=0b00000001;//select linear FB
		OCR1B=19150;
		_delay_ms(100);
		PORTC=0b00001000;//select linear RL
		OCR1A=17200;
		_delay_ms(100);
		PORTC=0b00010010;//select B and F
		OCR1A=19150;
		OCR1B=17200;
		_delay_ms(100);
		PORTC=0b00001000;//select linear RL
		OCR1A=19150;
		_delay_ms(100);
		PORTC=0b00000001;//select linear FB
		OCR1B=17200;
		_delay_ms(100);
		PORTC=0b00010010;//select B and F
		OCR1A=18250;
		OCR1B=18250;
		_delay_ms(100);
		PORTC=0b00100100;//select R and L
		OCR1A=19150;
		OCR1B=17200;
		_delay_ms(100);
		PORTC=0b00000001;//select linear FB
		OCR1B=19150;
		_delay_ms(100);
		PORTC=0b00001000;//select linear RL
		OCR1A=17200;
		_delay_ms(100);
		PORTC=0b00100100;//select R and L
		OCR1A=18250;
		OCR1B=18250;
		_delay_ms(100);
		PORTC=0b00001000;//select linear RL
		OCR1A=19150;
		_delay_ms(100);
		//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		//*******************************************************************************************//
		i=0;
		char input[100]=" ";
		
		
		while(1) {
			input[i] = uart_read();//read char
			if (input[i]=='.')
			break;
			i++;
			
		}
//*******************************************************************************************//solve cube
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//now code for solving the cube //solution is char input [100]
		
while(input[z]!='.')
{

while(input[j]!=' ')
{
n=n+1;
j++;
}
if(n==1)
{
if(input[z]=='R')
{
PORTC=0b00001100;//select R
OCR1A=17200;//rotR-0
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=17200;//linRL-0
_delay_ms(100);
PORTC=0b00001100;//select R
OCR1A=18250;//rotR-90
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=19150;//linRL-180
_delay_ms(100);
}
else if(input[z]=='L')
{
PORTC=0b00100001;//select L
OCR1B=17200;//rotL-0
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=17200;//linRL-0
_delay_ms(100);
PORTC=0b00100001;//select L
OCR1B=18250;//rotL-90
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=19150;//linRL-180
_delay_ms(100);
}
else if(input[z]=='F')
{
PORTC=0b00001010;//select F
OCR1A=17200;//rotF-0
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=17200;//linFB-0
_delay_ms(100);
PORTC=0b00001010;//select F
OCR1B=18250;//rotF-90
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=19150;//linFB-180
_delay_ms(100);
}
else if(input[z]=='B')
{
PORTC=0b00010001;//select B
OCR1B=17200;//rotB-0
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=17200;//linFB-0
_delay_ms(100);
PORTC=0b00010001;//select B
OCR1B=18250;//rotB-90
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=19150;//linFB-180
_delay_ms(100);
}
else if(input[z]=='U')
{
PORTC=0b00000001;//select linear FB
OCR1B=17200;//linFB-0
_delay_ms(100);
PORTC=0b00100100;//select R and L
OCR1A=19150;//rotR-180
OCR1B=17200;//rotL-0
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=19150;//linFB-180
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=17200;//linRL-0
_delay_ms(100);
PORTC=0b00000000;
OCR1A=18250;//rotR-90
OCR1B=18250;//rotL-90
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=19150;//linRL-180
_delay_ms(100);
PORTC=0b00001010;//select F
OCR1A=17200;//rotF-0
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=17200;//linFB-0
_delay_ms(100);
PORTC=0b00001010;//select F
OCR1A=18250;//rotF-90
_delay_ms(100);
PORTC=0b00100100;//select R and L
OCR1A=17200;//rotR-0
OCR1B=19150;//rotL-180
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=19150;//linFB-180
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=17200;//linRL-0
_delay_ms(100);
PORTC=0b00100100;//select R and L
OCR1A=18250;//rotR-90
OCR1B=18250;//rotL-90
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=19150;//linRL-180
_delay_ms(100);
}
else if(input[z]=='D')
{
PORTC=0b00000001;//select linear FB
OCR1B=17200;//linFB-0
_delay_ms(100);
PORTC=0b00100100;//select R and L
OCR1A=19150;//rotR-180
OCR1B=17200;//rotL-0
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=19150;//linFB-180
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=17200;//linRL-0
_delay_ms(100);
PORTC=0b00100100;//select R and L
OCR1A=18250;//rotR-90
OCR1B=18250;//rotL-90
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=19150;//linRL-180
_delay_ms(100);
PORTC=0b00010001;//select B
OCR1B=17200;//rotB-0
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=17200;//linFB-0
_delay_ms(100);
PORTC=0b00010001;//select B
OCR1B=18250;//rotB-90
_delay_ms(100);
PORTC=0b00100100;//select R and L
OCR1A=17200;//rotR-0
OCR1B=19150;//rotL-180
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=19150;//linFB-180
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=17200;//linRL-0
_delay_ms(100);
PORTC=0b00100100;//select R and L
OCR1A=18250;//rotR-90
OCR1B=18250;//rotL-90
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=19150;//linRL-180
_delay_ms(100);
}
z++;
}
if(n==2)
{
if(input[z+1]=='2')
{
if(input[z]=='R')
{
PORTC=0b00001000;//select linear RL
OCR1A=17200;//linRL-0
_delay_ms(100);
PORTC=0b00001100;//select R
OCR1A=19150;//rotR-180
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=19150;//linRL-180
_delay_ms(100);
PORTC=0b00001100;//select R
OCR1A=17200;//rotR-0
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=17200;//linRL-0
_delay_ms(100);
PORTC=0b00001100;//select R
OCR1A=18250;//rotR-90
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=19150;//linRL-180
_delay_ms(100);
}
else if(input[z]=='L')
{
PORTC=0b00001000;//select linear RL
OCR1A=17200;//linRL-0
_delay_ms(100);
PORTC=0b00100001;//select L
OCR1B=19150;//rotL-180
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=19150;//linRL-180
_delay_ms(100);
PORTC=0b00100001;//select L
OCR1B=17200;//rotL-0
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=17200;//linRL-0
_delay_ms(100);
PORTC=0b00100001;//select L
OCR1B=18250;//rotL-90
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=19150;//linRL-180
_delay_ms(100);
}
else if(input[z]=='F')
{
PORTC=0b00000001;//select linear FB
OCR1B=17200;//linFB-0
_delay_ms(100);
PORTC=0b00001010;//select F
OCR1A=19150;//rotF-180
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=19150;//linFB-180
_delay_ms(100);
PORTC=0b00001010;//select F
OCR1A=17200;//rotF-0
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=17200;//linFB-0
_delay_ms(100);
PORTC=0b00001010;//select F
OCR1A=18250;//rotF-90
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=19150;//linFB-180
_delay_ms(100);
}
else if(input[z]=='B')
{
PORTC=0b00000001;//select linear FB
OCR1B=17200;//linFB-0
_delay_ms(100);
PORTC=0b00010001;//select B
OCR1B=19150;//rotB-180
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=19150;//linFB-180
_delay_ms(100);
PORTC=0b00010001;//select B
OCR1B=17200;//rotB-0
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=17200;//linFB-0
_delay_ms(100);
PORTC=0b00010001;//select B
OCR1B=18250;//rotB-90
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=19150;//linFB-180
_delay_ms(100);
}
else if(input[z]=='U')
{
PORTC=0b00000001;//select linear FB
OCR1B=17200;//linFB-0
_delay_ms(100);
PORTC=0b00100100;//select R and L
OCR1A=19150;//rotR-180
OCR1B=17200;//rotL-0
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=19150;//linFB-180
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=17200;//linRL-0
_delay_ms(100);
PORTC=0b00100100;//select R and L
OCR1A=18250;//rotR-90
OCR1B=18250;//rotL-90
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=19150;//linRL-180
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=17200;//linFB-0
_delay_ms(100);
PORTC=0b00001010;//select F
OCR1A=19150;//rotF-180
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=19150;//linFB-180
_delay_ms(100);
PORTC=0b00001010;//select F
OCR1A=17200;//rotF-0
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=17200;//linFB-0
_delay_ms(100);
PORTC=0b00001010;//select F
OCR1A=18250;//rotF-90
_delay_ms(100);
PORTC=0b00100100;//select R and L
OCR1A=17200;//rotR-0
OCR1B=19150;//rotL-180
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=19150;//linFB-180
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=17200;//linRL-0
_delay_ms(100);
PORTC=0b00100100;//select R and L
OCR1A=18250;//rotR-90
OCR1B=18250;//rotL-90
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=19150;//linRL-180
_delay_ms(100);
}
else if(input[z]=='D')
{
PORTC=0b00000001;//select linear FB
OCR1B=17200;//linFB-0
_delay_ms(100);
PORTC=0b00100100;//select R and L
OCR1A=19150;//rotR-180
OCR1B=17200;//rotL-0
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=19150;//linFB-180
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=17200;//linRL-0
_delay_ms(100);
PORTC=0b00100100;//select R and L
OCR1A=18250;//rotR-90
OCR1B=18250;//rotL-90
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=19150;//linRL-180
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=17200;//linFB-0
_delay_ms(100);
PORTC=0b00010001;//select B
OCR1B=19150;//rotB-180
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=19150;//linFB-180
_delay_ms(100);
PORTC=0b00010001;//select B
OCR1B=17200;//rotB-0
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=17200;//linFB-0
_delay_ms(100);
PORTC=0b00010001;//select B
OCR1B=18250;//rotB-90
_delay_ms(100);
PORTC=0b00100100;//select R and L
OCR1A=17200;//rotR-0
OCR1B=19150;//rotL-180
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=19150;//linFB-180
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=17200;//linRL-0
_delay_ms(100);
PORTC=0b00100100;//select R and L
OCR1A=18250;//rotR-90
OCR1B=18250;//rotL-90
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=19150;//linRL-180
_delay_ms(100);
}
z+=2;}
else 
if(input[z]=='R')
{
PORTC=0b00001100;//select R
OCR1A=19150;//rotR-180
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=17200;//linRL-0
_delay_ms(100);
PORTC=0b00001100;//select R
OCR1A=18250;//rotR-90
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=19150;//linRL-180
_delay_ms(100);
}
else if(input[z]=='L')
{
PORTC=0b00100001;//select L
OCR1B=19150;//rotL-180
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=17200;//linRL-0
_delay_ms(100);
PORTC=0b00100001;//select L
OCR1B=18250;//rotL-90
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=19150;//linRL-180
_delay_ms(100);
}
else if(input[z]=='F')
{
PORTC=0b00001010;//select F
OCR1A=19150;//rotF-180
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=17200;//linFB-0
_delay_ms(100);
PORTC=0b00001010;//select F
OCR1A=18250;//rotF-90
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=19150;//linFB-180
_delay_ms(100);
}
else if(input[z]=='B')
{
PORTC=0b00010001;//select B
OCR1B=19150;//rotB-180
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=17200;//linFB-0
_delay_ms(100);
PORTC=0b00010001;//select B
OCR1B=18250;//rotB-90
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=19150;//linFB-180
_delay_ms(100);
}
else if(input[z]=='U')
{
PORTC=0b00000001;//select linear FB
OCR1B=17200;//linFB-0
_delay_ms(100);
PORTC=0b00100100;//select R and L
OCR1A=19150;//rotR-180
OCR1B=17200;//rotL-0
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=19150;//linFB-180
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=17200;//linRL-0
_delay_ms(100);
PORTC=0b00100100;//select R and L
OCR1A=18250;//rotR-90
OCR1B=18250;//rotL-90
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=19150;//linRL-180
_delay_ms(100);
PORTC=0b00001010;//select F
OCR1A=19150;//rotF-180
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=17200;//linFB-0
_delay_ms(100);
PORTC=0b00001010;//select F
OCR1A=18250;//rotF-90
_delay_ms(100);
PORTC=0b00100100;//select R and L
OCR1A=17200;//rotR-0
OCR1B=19150;//rotL-180
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=19150;//linFB-180
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=17200;//linRL-0
_delay_ms(100);
PORTC=0b00100100;//select R and L
OCR1A=18250;//rotR-90
OCR1B=18250;//rotL-90
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=19150;//linRL-180
_delay_ms(100);
}
else if(input[z]=='D')
{
PORTC=0b00000001;//select linear FB
OCR1B=17200;//linFB-0
_delay_ms(100);
PORTC=0b00100100;//select R and L
OCR1A=19150;//rotR-180
OCR1B=17200;//rotL-0
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=19150;//linFB-180
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=17200;//linRL-0
_delay_ms(100);
PORTC=0b00100100;//select R and L
OCR1A=18250;//rotR-90
OCR1B=18250;//rotL-90
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=19150;//linRL-180
_delay_ms(100);
PORTC=0b00010001;//select B
OCR1B=19150;//rotB-180
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=17200;//linFB-0
_delay_ms(100);
PORTC=0b00010001;//select B
OCR1B=18250;//rotB-90
_delay_ms(100);
PORTC=0b00100100;//select R and L
OCR1A=17200;//rotR-0
OCR1B=19150;//rotL-180
_delay_ms(100);
PORTC=0b00000001;//select linear FB
OCR1B=19150;//linFB-180
_delay_ms(100);
PORTC=0b00001100;//select linear RL
OCR1A=17200;//linRL-0
_delay_ms(100);
PORTC=0b00100100;//select R and L
OCR1A=18250;//rotR-90
OCR1B=18250;//rotL-90
_delay_ms(100);
PORTC=0b00001000;//select linear RL
OCR1A=19150;//linRL-180
_delay_ms(100);
}

z+=2;
}
z++;

}



//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++		
//*******************************************************************************************//done
	uart_string("Done\n");
	}


	}