Autor Tema: Error en la compilacion un archivo en PicC  (Leído 1793 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado juanv030

  • PIC10
  • *
  • Mensajes: 14
Error en la compilacion un archivo en PicC
« en: 27 de Septiembre de 2010, 21:16:49 »
Estaba haciendo una calculadora para subirlo a un pic 16f877 y a un lcd con teclado matricial pero me tira un error ya que cuando pongo "compilar" el PicC automaticamente me abre una nueva pestaña en el programa con la libreria "string.h". Alguien sabe cual es el problema??

Este es el codigo:

#include <stdio.h>
#include <stdlib.h>
#include <16F877.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)


#include <lcd.c>
#include <kbd.c>



void main(void)



     
     
     int z,y,vardet;
     float a11,b11,c11,a21,b21,c21;
     float a1,b1,c1,d1;
     float a2,b2,c2,d2;
     float a3,b3,c3,d3;
     float a,b,c,d,e,f,g,h,i,j;
     
   
     
     
     
     lcd_init()
     kbd_init()
     
     lcd_putc("\fMENU PRINCIPAL\n");
     lcd_putc("1_Suma  4_Divisi\n");
     lcd_putc("2_Resta 5_Promed\n");
     lcd_putc("3_Multi 6_Determ\n");
     
    scanf("%d",&z);
    switch (z) {
           
           case 1 :
                 system("cls");
                    lcd_putc("\f1er digito:");
                    scanf("%f",&a);
                    lcd_putc("2do digito:");
                    scanf("%f",&b);
                    lcd_putc("3er digito:");
                    scanf("%f",&c);
                    lcd_putc("Rta: %f ",a+b+c);
                    getche();
                    break;
               
               case 2 :
                    system("cls");
                    lcd_putc("1er digito:");
                    scanf("%f",&a);
                    lcd_putc("2do digito:");
                    scanf("%f",&b);
                    lcd_putc("3er digito:");
                    scanf("%f",&c);
                    lcd_putc("Rta: %f",a - b -c);
                    getche();
                    break;
               
               case 3 :
                    system("cls");
                    lcd_putc("1er digito:");
                    scanf("%f",&a);
                    lcd_putc("2do digito:");
                    scanf("%f",&b);
                    lcd_putc("3er digito:");
                    scanf("%f",&c);
                    lcd_putc("Resultado: %f",a * b * c);
                    getche();
                    break;
               
               case 4 :
                    system("cls");
                    lcd_putc("1er digito:");
                    scanf("%f",&a);
                    lcd_putc("2do digito:");
                    scanf("%f",&b);
                    lcd_putc("Rta: %f",a / b);
                    getche();
                    break;
                   
                    case 5 :
   
    system("cls");                     
    lcd_putc("Hasta 10 num\n");
     lcd_putc("Numero de notas: ");
     scanf("%d",&y);
     switch(y)  {
     
         case 1 :
              system("cls");
              lcd_putc("Primer nota:");
              scanf("%f",&a);
              lcd_putc("Resultado: %f",a);
              break;
         case 2 :
              system("cls");
              lcd_putc("Primer nota:");
              scanf("%f",&a);
              lcd_putc("Segunda nota:");
              scanf("%f",&b);
              lcd_putc("Resultado: %f",(a+b)/2);
              break;
         case 3 :
              system("cls");
              lcd_putc("Primer nota:");
              scanf("%f",&a);
              lcd_putc("Segunda nota:");
              scanf("%f",&b);
              lcd_putc("Tercera nota:");
              scanf("%f",&c);
              lcd_putc("Resultado: %f",(a+b+c)/3);
              break;
         case 4 :
              system("cls");
              lcd_putc("Primer nota:");
              scanf("%f",&a);
              lcd_putc("Segunda nota:");
              scanf("%f",&b);
              lcd_putc("Tercera nota:");
              scanf("%f",&c);
              lcd_putc("Cuarta nota:");
              scanf("%f",&d);
              system("cls");
              lcd_putc("Resultado: %f",(a+b+c+d)/4);
              break;
         case 5 :
              system("cls");
              lcd_putc("Primer nota:");
              scanf("%f",&a);
              lcd_putc("Segunda nota:");
              scanf("%f",&b);
              lcd_putc("Tercera nota:");
              scanf("%f",&c);
              lcd_putc("Cuarta nota:");
              scanf("%f",&d);
              system("cls");
              lcd_putc("Quinta nota:");
              scanf("%f",&e);
              lcd_putc("Resultado: %f",(a+b+c+d+e)/5);
              break;
         case 6 :
              system("cls");
              lcd_putc("Primer nota:");
              scanf("%f",&a);
              lcd_putc("Segunda nota:");
              scanf("%f",&b);
              lcd_putc("Tercera nota:");
              scanf("%f",&c);
              lcd_putc("Cuarta nota:");
              scanf("%f",&d);
              system("cls");
              lcd_putc("Quinta nota:");
              scanf("%f",&e);
              lcd_putc("Sexta nota:");
              scanf("%f",&f);
              lcd_putc("Resultado: %f",(a+b+c+d+e+f)/6);
              break;
         case 7 :
              system("cls");
              lcd_putc("Primer nota:");
              scanf("%f",&a);
              lcd_putc("Segunda nota:");
              scanf("%f",&b);
              lcd_putc("Tercera nota:");
              scanf("%f",&c);
              lcd_putc("Cuarta nota:");
              system("cls");
              scanf("%f",&d);
              lcd_putc("Quinta nota:");
              scanf("%f",&e);
              lcd_putc("Sexta nota:");
              scanf("%f",&f);
              lcd_putc("Septima nota:");
              scanf("%f",&g);
              lcd_putc("Resultado: %f",(a+b+c+d+e+f+g)/7);
              break;
         case 8 :
              system("cls");
              lcd_putc("Primer nota:");
              scanf("%f",&a);
              lcd_putc("Segunda nota:");
              scanf("%f",&b);
              lcd_putc("Tercera nota:");
              scanf("%f",&c);
              lcd_putc("Cuarta nota:");
              scanf("%f",&d);
              system("cls");
              lcd_putc("Quinta nota:");
              scanf("%f",&e);
              lcd_putc("Sexta nota:");
              scanf("%f",&f);
              lcd_putc("Septima nota:");
              scanf("%f",&g);
              lcd_putc("Octava nota:");
              scanf("%f",&h);
              system("cls");
              lcd_putc("Resultado: %f",(a+b+c+d+e+f+g+h)/8);
              break;
         case 9 :
              system("cls");
              lcd_putc("Primer nota:");
              scanf("%f",&a);
              lcd_putc("Segunda nota:");
              scanf("%f",&b);
              lcd_putc("Tercera nota:");
              scanf("%f",&c);
              lcd_putc("Cuarta nota:");
              scanf("%f",&d);
              system("cls");
              lcd_putc("Quinta nota:");
              scanf("%f",&e);
              lcd_putc("Sexta nota:");
              scanf("%f",&f);
              lcd_putc("Septima nota:");
              scanf("%f",&g);
              lcd_putc("Octava nota:");
              scanf("%f",&h);
              system("cls");
              lcd_putc("Novena nota:");
              scanf("%f",&i);
              lcd_putc("Resultado: %f",(a+b+c+d+e+f+g+h+i)/9);
              break;
         case 10 :
              system("cls");
              lcd_putc("Primer nota:");
              scanf("%f",&a);
              lcd_putc("Segunda nota:");
              scanf("%f",&b);
              lcd_putc("Tercera nota:");
              scanf("%f",&c);
              lcd_putc("Cuarta nota:");
              scanf("%f",&d);
              system("cls");
              lcd_putc("Quinta nota:");
              scanf("%f",&e);
              lcd_putc("Sexta nota:");
              scanf("%f",&f);
              lcd_putc("Septima nota:");
              scanf("%f",&g);
              lcd_putc("Octava nota:");
              scanf("%f",&h);
              system("cls");
              lcd_putc("Novena nota:");
              scanf("%f",&i);
              lcd_putc("Decima nota:");
              scanf("%f",&j);
              lcd_putc("Resultado: %f",(a+b+c+d+e+f+g+h+i+j)/10);
              break;
             
              default:
                     
                      system("cls");
                      lcd_putc("\fValor incorrecto");
                      }
                      getche();
                      break;
   
    case 6:
         
         system("cls");
         lcd_putc("2 o 3 incog? ");
         scanf("%d",&vardet);
         
         switch (vardet) {
               
                case 2 :
                     
     system("cls");
     lcd_putc("Valor de a1: ");
     scanf("%f",&a11);
     lcd_putc("Valor de b1: ");
     scanf("%f",&b11);
     lcd_putc("Valor de c1: ");
     scanf("%f",&c11);
     
     system("cls");
     lcd_putc("Valor de a2: ");
     scanf("%f",&a21);
     lcd_putc("Valor de b2: ");
     scanf("%f",&b21);
     lcd_putc("Valor de c2: ");
     scanf("%f",&c21);
     
     system("cls");
     
     float d1=(((a11)*(b21))-((a21)*(b11)));
     float i11=((((c11)*(b21))-((c21)*(b11)))/(((a11)*(b21))-((a21)*(b11))));
     float i21=((((a11)*(c21))-((a21)*(c11)))/(((a11)*(b21))-((a21)*(b11))));
     
     
     
     system("cls");
     lcd_putc("Delta: %f",d1);
     getche();
             system("cls");
     lcd_putc("X : %f\n",i11);
     
     if (i11 < 0) {
             lcd_putc("Valor Negativo\n");
             lcd_putc("Signo Contrario\n");
             lcd_putc("En la malla");
             }
             getche();
             system("cls");
     lcd_putc("Y : %f\n",i21);     
             
     if(i21 < 0) {
             lcd_putc("Valor Negativo\n");
             lcd_putc("Signo Contrario\n");
             lcd_putc("En la malla\n");
             }
     
     getche();
     
     break;
         
   
    case 3:
         
         system("cls");
     
     lcd_putc("Valor de a1: ");
     scanf("%f",&a1);
     lcd_putc("Valor de b1: ");
     scanf("%f",&b1);
     lcd_putc("Valor de c1: ");
     scanf("%f",&c1);
     lcd_putc("Valor de d1: ");
     scanf("%f",&d1);
     
     system("cls");
     
     
     lcd_putc("Valor de a2: ");
     scanf("%f",&a2);
     lcd_putc("Valor de b2: ");
     scanf("%f",&b2);
     lcd_putc("Valor de c2: ");
     scanf("%f",&c2);
     lcd_putc("Valor de d2: ");
     scanf("%f",&d2);
     
     system("cls");
     
     lcd_putc("Valor de a3: ");
     scanf("%f",&a3);
     lcd_putc("Valor de b3: ");
     scanf("%f",&b3);
     lcd_putc("Valor de c3: ");
     scanf("%f",&c3);
     lcd_putc("Valor de d3: ");
     scanf("%f",&d3);
     
     system("cls");
     
     float d=((a1)*(b2)*(c3))+((b1)*(c2)*(a3))+((c1)*(a2)*(b3))-((a3)*(b2)*(c1))-((b3)*(c2)*(a1))-((c3)*(a2)*(b1));
     float i1=(((d1)*(b2)*(c3))+((b1)*(c2)*(d3))+((c1)*(d2)*(b3))-((d3)*(b2)*(c1))-((b3)*(c2)*(d1))-((c3)*(d2)*(b1)))/(((a1)*(b2)*(c3))+((b1)*(c2)*(a3))+((c1)*(a2)*(b3))-((a3)*(b2)*(c1))-((b3)*(c2)*(a1))-((c3)*(a2)*(b1)));
     float i2=(((a1)*(d2)*(c3))+((d1)*(c2)*(a3))+((c1)*(a2)*(d3))-((a3)*(d2)*(c1))-((d3)*(c2)*(a1))-((c3)*(a2)*(d1)))/(((a1)*(b2)*(c3))+((b1)*(c2)*(a3))+((c1)*(a2)*(b3))-((a3)*(b2)*(c1))-((b3)*(c2)*(a1))-((c3)*(a2)*(b1)));
     float i3=(((a1)*(b2)*(d3))+((b1)*(d2)*(a3))+((d1)*(a2)*(b3))-((a3)*(b2)*(d1))-((b3)*(d2)*(a1))-((d3)*(a2)*(b1)))/(((a1)*(b2)*(c3))+((b1)*(c2)*(a3))+((c1)*(a2)*(b3))-((a3)*(b2)*(c1))-((b3)*(c2)*(a1))-((c3)*(a2)*(b1)));
     
   
     
     system("cls");
     lcd_putc("D: %f",d);
     getche();
             system("cls");
     lcd_putc("X : %f\n",i1);
     
     if (i1 < 0) {
             lcd_putc("Valor Negativo\n");
             lcd_putc("Signo Contrario\n");
             lcd_putc("En la malla");
             }
             getche();
             system("cls");
     lcd_putc("Y : %f\n",i2);     
             
     if(i2 < 0) {
             lcd_putc("Valor Negativo\n");
             lcd_putc("Sent Contrario\n");
             lcd_putc("En la malla\n");
             }
             getche();
             system("cls");
     lcd_putc("Z : %f\n",i3);     
             
     if(i3 < 0) {
             lcd_putc("Valor Negativo\n");
             lcd_putc("Sent Contrario\n");
             lcd_putc("En la malla\n");
             }
     
     
     getche();
     
     
     
     break;
   
    default :
            system("cls");
            lcd_putc("Valor incorrecto");
            getche();
           
            }
   
   
           
           
   

     
  system("cls");
  lcd_putc("Software-Juanfran"); 
     
     
  system("PAUSE>nul");   
  return 0;
}

Me salta el error 128

Muchas gracias por la minima ayuda ;)

Desconectado f-traxx

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 116
Re: Error en la compilacion un archivo en PicC
« Respuesta #1 en: 28 de Septiembre de 2010, 03:32:24 »
Hola buenas no creo que te pueda ayudar mucho, porque soy un poco novato, pero estoy segurisimo que tu error no es de codigo, sino de la declaración o llamada a uno de los includes, ese error me lo dava una vez a mi i lo que te dice es:
El recopilador requiere un *device antes de que esto encuentre cualquier declaración o la directiva de recopilador que puede hacer que ello genere el código. En *defines general puede aparecer antes de un *device, pero no mucho más.

Yo lo solucioné en mi caso cambiando de sitio alguno de los includes, siento no poderte dar ninguna otra pista.


 

anything