int main(void) { initialize_hardware(); while (1) { terminal_idle(); // obsluha terminalu } }
/******************************************************************************* * Hlavni funkce *******************************************************************************/ int main(void) { unsigned int cnt = 0; last_ch = 0; last_opto = 0; isrunning = 0; OPTO_dir_in(); initialize_hardware(); keyboard_init(); set_led_d6(1); // rozsviceni D6 set_led_d5(1); // rozsviceni D5 //term_send_crlf(); //term_send_str(" >"); /* nastaveni casovace na periodu 10 ms */ CCTL0 = CCIE; // enable interrupt CCR0 = 0x80; TACTL = TASSEL_1 + MC_2; stopwatch_reset(); while (1) { delay_ms(1); cnt++; if (cnt >= 500) cnt = 0; if (cnt == 0) { cnt = 0; flip_led_d6(); // negace portu na ktere je LED } if (cnt % 10 == 1) { keyboard_idle(); // obsluha klavesnice terminal_idle(); // obsluha terminalu } if (cnt % 100 == 2) { display_idle(); } opto_idle(); } //CCTL0 &= ~CCIE; // disable interrupt }
/******************************************************************************* * Hlavni funkce *******************************************************************************/ int main(void) { short counter = 0; unsigned long a, b, c; initialize_hardware(); set_led_d6(1); //rozsvitit LED D6 set_led_d5(1); //rozsvitit LED D5 /**************************************************************************/ /* Aktualizovany hlavni program */ /**************************************************************************/ a = 0x12345678; b = 0x50000000; fpga_write(FPGA_ADDR_A, a); fpga_write(FPGA_ADDR_B, b); c = fpga_read(FPGA_ADDR_C); term_send_hex(a); term_send_str(" + "); term_send_hex(b); term_send_str(" = "); term_send_hex(c); term_send_crlf(); /**************************************************************************/ set_led_d5(0); //zhasnout LED D5 while (1) { delay_ms(1); //zpozdeni 1ms counter++; if (counter == 500) { flip_led_d6(); //invertovat LED counter = 0; } terminal_idle(); // obsluha terminalu } }
int main(void) { initialize_hardware(); WDTCTL = WDTPW + WDTHOLD; // zastav watchdog adcInit(); // inicializace AD prevodniku unsigned char i = 0; while(1){ i++; if(i >= interval){ i = 0; flip_led_d6(); if(!paused){ voltmeterRefresh(); voltmeterRedraw(); } } terminal_idle(); delay_ms(1); } }
//hlavni funkce starajici se o chod aplikace int main(int argc, char **argv ) { unsigned int cnt = 0,old_score=1; char_cnt = 0; last_ch = 0; //iniciaizace HW initialize_hardware(); keyboard_init(); int random_number,i,j; Tshape myshape; Tmatrix matrix,pane,pom; int pom_matrix[8][8] = {0}; char c=0; int latest_line; //srand(2); //vytvoreni noveho utvaru myshape = create_shape(rand()%8); //posun na zacatek matrix = move_it(myshape,pom_matrix); //ulozeni noveho utvaru pane = save_it(matrix,pom_matrix); set_led_d6(1); // rozsviceni D6 set_led_d5(1); // rozsviceni D5 //inicializace LED displeje P6DIR=0xff; P4DIR=0x0f; P2DIR=0xf0; P4OUT=0x00; P2OUT=0x00; P6OUT=0xff; while (1) { delay_ms(1); cnt++; //pri zmacknuti klavesy if (c!=last_ch){ c=last_ch; //pokud byla zmacknuta 6 if (c=='6'){ //posunu se x++; //pokusim se ulozit na to misto utvar matrix = move_it(myshape,pom_matrix); //pokud nelze ulozit if (matrix.count!=4){ //vratim se x--; //a ulozim matrix = move_it(myshape,pom_matrix); } } //pri zmacknuti 4 else if (c=='4'){ //posunu se x--; //pokusim se ulozit matrix = move_it(myshape,pom_matrix); //pokud bych vypsal mene jak 4 znaky z utvaru if (matrix.count!=4){ //posouvam se zpatky x++; matrix = move_it(myshape,pom_matrix); } } //pokud nactu 8 else if (c=='8'){ //posunu se y++; //pokusim se ulozit matrix = move_it(myshape,pom_matrix); if (matrix.count!=4){ //pokud nelze posun, posunu se nazpet y--; matrix = move_it(myshape,pom_matrix); matrix.last_line = 1; } } //rotace else if (c=='5'){ //pouzivam prvne rotate_back kvuli "hezci" rotaci myshape = rotate_back(myshape); //pokusim se ulozit dany utvar matrix = move_it(myshape,pom_matrix); //pokud pri posunu nelze vypsat vsechny 4 prvky daneho utvaru if (matrix.count!=4){ //posunu se zpatky myshape = rotate(myshape); matrix = move_it(myshape,pom_matrix); } } else { continue; } //ulozim do vysledneho hraciho pole pane = save_it(matrix,pom_matrix); //pokud jsem nacetl posledni radek if (matrix.last_line==1) { //ulozim si hraci pole do pomocne matice for (i=0;i<8;i++) { for (j=0;j<8;j++) { pom_matrix[i][j] = pane.shape[i][j]; } } matrix.last_line=0; //smazu radky pane=delete_rows(pane); x=0; y=0; //vygeneruji novy utvar myshape = create_shape(rand()%8); int i,t; //ulozim do pomocne matice hraci pole for (i=0;i<8;i++) for (t=0;t<8;t++) pom_matrix[i][t]=pane.shape[i][t]; //posunu nove vygenerovany utvar na zacatek hraciho pole matrix = move_it(myshape,pom_matrix); //ulozim tento stav pane = save_it(matrix,pom_matrix); } c=last_ch; } //tisknuti skore if (old_score!=score && (cnt%100)==0){ old_score=score; print_score("Score: "); } if (cnt > 1000) { cnt = 0; flip_led_d6(); // negace portu na ktere je LED } print_it(pane.shape); keyboard_idle(); // obsluha klavesnice terminal_idle(); // obsluha terminalu } return 0; }