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'); } }
void userApp2(void * args) { while(1) { uart_string("in userApp2"); OSTimeDly(100); } }
//------------------------------------------------------------------- void notmain ( void ) { disable_watchdog(); hexstring(0x12345678); uart_string("Hello World!\r\n"); hexstring(0x12345678); while(1) { uart_putc(uart_getc()); } }
//------------------------------------------------------------------- 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); }
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"); } }