Drey_Coelho Postado Junho 4, 2010 Denunciar Share Postado Junho 4, 2010 Galera...Me ajudem!!!Isso é pra Minha nota da P2!Tirei zero na P1...2° Período Sistemas de Informação. Faculdade Católica.O meu Prof° Disse que se eu comentar as linhas de Códigoele me dá 100 pra P2.Sou uma merda em Programação.O que isso faz?? Comentem Por gentileza!!!Abraço!!#include <system.h> #define IDENTIFICACAO 0 #define SERVO_MAX 260 #define SERVO_MIN 100 #define SERVO_PARADO 180 #define SERVO_AUMENTA 1 #define SERVO_DIMINUI 1 #define TEMPO20MS 12500 #pragma DATA _CONFIG, _PWRTE_ON & _BODEN_ON & _WDT_OFF & _LVP_OFF & _CPD_OFF & _DEBUG_OFF & _HS_OSC & _CP_OFF #pragma DATA 0x2100, 0,0,0,0,0,0,0,0 /*#pragma DATA 0x0, 0x2820 #pragma DATA 0, 0x301d,0x008a, 0x2d00, 0x3fff, 0x2824, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff // para uso com bootloader*/ #pragma DATA 19, 0x2824 #pragma CLOCK_FREQ 20000000 #define CLOCK_FREQ 20000000 #define TX_PORT 0x07 #define TX_TRIS 0x87 #define TX_BIT 6 #define RX_PORT 0x07 #define RX_TRIS 0x87 #define RX_BIT 7 #define e_SPBRG 0x99 #define e_RCREG 0x1a #define e_TXREG 0x019 #define e_TXSTA 0x98 #define e_RCSTA 0x18 #define e_TXIF_PIR 0x0c #define e_RCIF_PIR 0x0c #define e_TXIF_BIT 4 #define e_RCIF_BIT 5 #define MODE (USART_reset_wdt | USART_HW) #define bit_time 104 #include <rs232_driver.h> #include <eeprom.h> unsigned int TMR1@TMR1L; int servo[4]; int servo_correcao[4]={0,0,0,0}; #define servo0 porta.0 #define servo1 porta.1 #define servo2 porta.2 #define servo3 porta.3 void interrupt( void ) { static bool inicio=true; static bool timer0lig=false; int contador=0; if( intcon & (1<<T0IF) ) { clear_bit( intcon, T0IF ); } if( pir1 & (1<<TMR1IF) ) { clear_bit( pir1, TMR1IF ); TMR1=0xFFFF-TEMPO20MS; servo3=servo2=servo1=servo0=1; int correcao_MAX=servo_correcao[0]; if(servo_correcao[1] > correcao_MAX) correcao_MAX=servo_correcao[1]; if(servo_correcao[2] > correcao_MAX) correcao_MAX=servo_correcao[2]; if(servo_correcao[3] > correcao_MAX) correcao_MAX=servo_correcao[3]; correcao_MAX+=SERVO_MAX; for(contador=0; contador<=correcao_MAX; contador++){ if(contador==servo[0]) servo0=0; if(contador==servo[1]) servo1=0; if(contador==servo[2]) servo2=0; if(contador==servo[3]) servo3=0; asm { nop nop nop nop } } } if( pir1 & (1<<TMR2IF) ) { clear_bit( pir1, TMR2IF ); } } void print_int(int i){ if(i<0){ putc('-'); i=0-i; } putc('0'+i/10000); putc('0'+(i/1000)%10); putc('0'+(i/100)%100%10); putc('0'+(i/10)%1000%100%10); putc('0'+i%10000%1000%100%10); } void main( void ) { trisa = 0x00; trisb = 0x00; trisc = 0x00; trisd = 0x00; trise = 0x00; adcon1 = 0x06; porta = 0x00; portb = 0x00; portc = 0x00; portd = 0x00; porte = 0x00; clear_bit( option_reg, T0CS ); clear_bit( option_reg, PSA ); clear_bit( option_reg, PS2 ); clear_bit( option_reg, PS1 ); set_bit( option_reg, PS0 ); set_bit( option_reg, T0SE ); set_bit( t1con, T1CKPS1 ); set_bit( t1con, T1CKPS0 ); set_bit( t1con, T1SYNC ); clear_bit( t1con, T1OSCEN ); clear_bit( t1con, TMR1CS ); set_bit( t1con, TMR1ON ); TMR1=0xFFFF-TEMPO20MS; set_bit(pie1,TMR1IE); clear_bit( pie2, CMIE ); pie1=1; pie2=0; intcon = 0xC0; uart_init(0,129); puts("Bem Vindo!"); servo_correcao[0]=eeprom_read(0)*256; servo_correcao[0]|=eeprom_read(1); servo_correcao[1]=eeprom_read(2)*256; servo_correcao[1]|=eeprom_read(3); servo_correcao[2]=eeprom_read(4)*256; servo_correcao[2]|=eeprom_read(5); servo_correcao[3]=eeprom_read(6)*256; servo_correcao[3]|=eeprom_read(7); servo[0]=SERVO_PARADO+servo_correcao[0]; servo[1]=SERVO_PARADO+servo_correcao[1]; servo[2]=SERVO_PARADO+servo_correcao[2]; servo[3]=SERVO_PARADO+servo_correcao[3]; unsigned char roda=0; while (1){ char c; while((c=getc())!='A'){putc©;}; while((c=getc())=='A'); if(c=='z'){ while((c=getc())!=0){ if((c >>5 ==IDENTIFICACAO)){ roda=c & 0b00011000; roda=roda>>3; switch(c& 0b111){ case 0b000: break; case 0b001: if(servo[roda]+SERVO_AUMENTA>SERVO_MAX+servo_correcao[roda]) servo[roda]=SERVO_MAX+servo_correcao[roda]; else servo[roda]+=SERVO_AUMENTA; break; case 0b010: if(servo[roda]-SERVO_DIMINUI<SERVO_MIN+servo_correcao[roda]) servo[roda]=SERVO_MIN+servo_correcao[roda]; else servo[roda]-=SERVO_DIMINUI; break; case 0b011: servo[roda]=SERVO_PARADO+servo_correcao[roda]; break; case 0b100: if(SERVO_PARADO+(SERVO_PARADO+servo_correcao[roda]-servo[roda])>SERVO_MAX+servo_correcao[roda]){ servo[roda]=SERVO_MAX+servo_correcao[roda]; } else if(SERVO_PARADO+(SERVO_PARADO+servo_correcao[roda]-servo[roda])<SERVO_MIN+servo_correcao[roda]){ servo[roda]=SERVO_MIN+servo_correcao[roda]; } else { servo[roda]=SERVO_PARADO+servo_correcao[roda]+(SERVO_PARADO-servo[roda]); } break; case 0b101: servo[roda]=SERVO_MAX+servo_correcao[roda]; break; case 0b110: servo[roda]=SERVO_MIN+servo_correcao[roda]; break; case 0b111: servo_correcao[roda]=servo[roda]-SERVO_PARADO; eeprom_write(roda*2,servo_correcao[roda]/256); eeprom_write(roda*2+1,servo_correcao[roda]); break; } } } } } } Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Drey_Coelho
Galera...Me ajudem!!!
Isso é pra Minha nota da P2!
Tirei zero na P1...
2° Período Sistemas de Informação. Faculdade Católica.
O meu Prof° Disse que se eu comentar as linhas de Código
ele me dá 100 pra P2.
Sou uma merda em Programação.
O que isso faz?? Comentem Por gentileza!!!
Abraço!!
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.