Autor Tema: error 66 al compilar en CCS  (Leído 2109 veces)

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

Desconectado clavo182

  • PIC10
  • *
  • Mensajes: 15
error 66 al compilar en CCS
« en: 22 de Noviembre de 2015, 12:52:49 »
hola soy nuevo en el foro...y necesito ayuda con mi programa, en pocas palabras estoy haciendo el control de un invernadero por medio de radiofrecuencia, para esto hago uso del protocolo spi de los pics 16f877-18f4550 y el modulo nrf24l01. para esto estoy usando pic c compiler...ya practicamente me compila el 16f877 pero tengo un error al compilar el codigo del pic 18f4550, el error es el 66 del compilador que dice: Error 66"INVERNADERO(18F4550.c)" Line 72(27,28): Previous identifier must be a pointer.
Alguien que me pueda ayudar por favor? lo necesito en dos dias jeje...Les dejo el codigo

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re:error 66 al compilar en CCS
« Respuesta #1 en: 22 de Noviembre de 2015, 14:03:59 »
estás usando j como una variable para el bucle for, y a la vez como un puntero, cambia eso.

no veo que declares a j como puntero.
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:error 66 al compilar en CCS
« Respuesta #2 en: 22 de Noviembre de 2015, 14:04:31 »
Error :P.. deberia poder borrarlo xD

Desconectado clavo182

  • PIC10
  • *
  • Mensajes: 15
Re:error 66 al compilar en CCS
« Respuesta #3 en: 22 de Noviembre de 2015, 14:11:49 »
en donde exactamente deberia declarar el puntero j ?

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:error 66 al compilar en CCS
« Respuesta #4 en: 22 de Noviembre de 2015, 14:15:52 »
Otra cosa que habia puesto pero quise averiguar mejor antes de mandarmela y decir algo equivocado, pero vi que estaba en lo correcto y edite mi mensaje anterior sin sentido, estos 2 problemas son para solucionar

Código: C
  1. for(j=0;j<strlen(string);j++)
  2.       {
  3.         RF_DATA[j]=string[j];
  4.       }

Esperas un array

Código: C
  1. void enviar(char string)
  2. {

Definis como un char nomas..

Correccion:

Código: C
  1. void enviar(char *string)
  2. {

Lo que dice PalitroqueZ es:

Código: C
  1. *j=0;

por

Código: C
  1. j=0;

Desconectado clavo182

  • PIC10
  • *
  • Mensajes: 15
Re:error 66 al compilar en CCS
« Respuesta #5 en: 22 de Noviembre de 2015, 14:37:06 »
ahhhhhhhhhhhhhh...no lo habia notado, muchas gracias ya me compila !!!....lo que no entiendo es por que j tiene que ser puntero, y no solo una variable int?
 

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:error 66 al compilar en CCS
« Respuesta #6 en: 22 de Noviembre de 2015, 14:47:41 »
Es que estas equivocado....

Citar
lo que no entiendo es por que j tiene que ser puntero, y no solo una variable int?

j lo tenes definido asi:

int8 j;

es decir un int. Si queres acceder a su contenido y poner un 0 dentro, haces:

j=0;

Esto no es un puntero, ahora si supongamos que j tenia el valor 50, y vos haces:

*j = 0;

Lo que haces es que en la direccion 50 pones un 0. Ahora se entiende? Vos estabas usandolo como puntero, mientras que era un simple int. Es mas esa linea la podrias borrar completamente, ya que en el for lo pone a 0 al comienzo.

Desconectado clavo182

  • PIC10
  • *
  • Mensajes: 15
Re:error 66 al compilar en CCS
« Respuesta #7 en: 22 de Noviembre de 2015, 14:57:11 »
ohh ya...muchas gracias por la ayuda, ahora a probarlo si funciona o no jeje


 

anything