Reducir codigo pic ccs

#1
Buenas, tengo este codigo:

Código:
   for(j<=0;j<=80;j++){      
   escribir_bit(a[0]);
   output_b(matrix[0]);
   delay_ms(1);}
   j=0;

   for(j<=0;j<=80;j++){
   escribir_bit(a[0]);
   output_b(matrix[1]);  
   escribir_bit(a[1]);
   output_b(matrix[0]);  
   delay_ms(1);}
   j=0;
   
   
   for(j<=0;j<=80;j++){
   escribir_bit(a[0]);
   output_b(matrix[2]);  
   escribir_bit(a[1]);
   output_b(matrix[1]);    
   escribir_bit(a[2]);
   output_b(matrix[0]); 
   delay_ms(1);}
   j=0;


   for(j<=0;j<=80;j++){
   escribir_bit(a[0]);
   output_b(matrix[3]);  
   escribir_bit(a[1]);
   output_b(matrix[2]);    
   escribir_bit(a[2]);
   output_b(matrix[1]);    
   escribir_bit(a[3]);
   output_b(matrix[0]);
   delay_ms(1);}
   j=0;

   for(j<=0;j<=80;j++){
   escribir_bit(a[0]);
   output_b(matrix[4]);  
   escribir_bit(a[1]);
   output_b(matrix[3]);    
   escribir_bit(a[2]);
   output_b(matrix[2]);    
   escribir_bit(a[3]);
   output_b(matrix[1]);
   escribir_bit(a[4]);
   output_b(matrix[0]); 
   delay_ms(1);}
   j=0;   
   
   
   for(j<=0;j<=80;j++){
   escribir_bit(a[0]);
   output_b(matrix[5]);  
   escribir_bit(a[1]);
   output_b(matrix[4]);    
   escribir_bit(a[2]);
   output_b(matrix[3]);    
   escribir_bit(a[3]);
   output_b(matrix[2]);
   escribir_bit(a[4]);
   output_b(matrix[1]);   
   escribir_bit(a[5]);
   output_b(matrix[0]);
   delay_ms(1);}
   j=0;
   
   for(j<=0;j<=80;j++){ 
   escribir_bit(a[0]);
   output_b(matrix[6]);  
   escribir_bit(a[1]);
   output_b(matrix[5]);    
   escribir_bit(a[2]);
   output_b(matrix[4]);    
   escribir_bit(a[3]);
   output_b(matrix[3]);
   escribir_bit(a[4]);
   output_b(matrix[2]);   
   escribir_bit(a[5]);
   output_b(matrix[1]);   
   escribir_bit(a[6]);
   output_b(matrix[0]);
   delay_ms(1);}
   j=0;
   
   
   for(j<=0;j<=80;j++){   
   escribir_bit(a[0]);
   output_b(matrix[7]);  
   escribir_bit(a[1]);
   output_b(matrix[6]);    
   escribir_bit(a[2]);
   output_b(matrix[5]);    
   escribir_bit(a[3]);
   output_b(matrix[4]);
   escribir_bit(a[4]);
   output_b(matrix[3]);   
   escribir_bit(a[5]);
   output_b(matrix[2]);   
   escribir_bit(a[6]);
   output_b(matrix[1]);    
   escribir_bit(a[7]);
   output_b(matrix[0]);
   delay_ms(1);}
   j=0;
   i=0;
asi como está funciona 100% pero me gustaria poder reducirlo, ojala puedan ayudarme... gracias de antemano :)
 
#2
Hola, te aconsejo investigues lo respectivo a funciones, tal vez te pueda ayudar.
 
#4
Analizando solo el primer bloque:

PHP:
   for(j<=0;j<=80;j++){      
   escribir_bit(a[0]);
   output_b(matrix[0]);
   delay_ms(1);}
   j=0;
En primer lugar la estructura "for" esta mal escrita, debe ser asi:

PHP:
for(j=0; j<=80; j++){    
   escribir_bit(a[0]);
   output_b(matrix[0]);
   delay_ms(1);
}
por lo que la instruccion j=0; al final esta demas.

En segundo lugar y mas importante, no veo que estes usando la variable j en ningun lado, por lo que toda la estructura "for" seria innecesaria.

Tal vez si explicas que es lo que se supone que debe hacer seria mas facil recomendar algo.

Saludos
 

Temas similares

Arriba