Autor Tema: Ayuda!!! Error en MPLAB  (Leído 2469 veces)

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

Desconectado zirix

  • PIC10
  • *
  • Mensajes: 8
Ayuda!!! Error en MPLAB
« en: 06 de Septiembre de 2005, 13:19:00 »
Hola soy nuevo en esto de la programación de PICS, y obviamente la primera en la frente.

Estoy usando el MPLAB con el Hi Tech PICC 18, y al compilar me da el siguiente error:

"Illegal # command "byte" ", debido a la siguiente definición:

#byte CF_DATA = 0x08 /* Port D */
#byte CF_DATA_TRIS = 0x88 /* Port D TRIS */


Lo de "byte" me sale en color rojo, por lo que supongo que no lo interpreta como parte del lenguaje, pero no entiendo porque, ademas observando otros ficheros también me sale en rojo, las sigueintes definiciones:

#fuses
#use
#int_timer2


Espero que me podais ayudar.


Muchas gracias.

Desconectado adrian2a1

  • Colaborador
  • PIC12
  • *****
  • Mensajes: 75
RE: Ayuda!!! Error en MPLAB
« Respuesta #1 en: 06 de Septiembre de 2005, 13:31:00 »
Las directivas que estas utilizando son para el compilador CCS-PICC, no son válidas para el Hitech.

Saludos.

Desconectado zirix

  • PIC10
  • *
  • Mensajes: 8
RE: Ayuda!!! Error en MPLAB
« Respuesta #2 en: 07 de Septiembre de 2005, 04:01:00 »
Muchas gracias adrian2a1 por tu respuesta pero como hago para solucionarlo, ¿que debo instalar para poder utilizar estas directivas?.

Lo siento pero es que como ya digo soy nuevo en esto de los PIC.


Desconectado zirix

  • PIC10
  • *
  • Mensajes: 8
RE: Ayuda!!! Error en MPLAB
« Respuesta #3 en: 07 de Septiembre de 2005, 04:33:00 »
Me he bajado el "CCS MPLAB 6.xx/7.xx plugin" y lo he instalado, pero cuando  selecciono la Toolsuite correspondiente en MPLAB (CCS C Compiler for PIC12/14/16/18), me pide el fichero "ccsc.exe", el cual no se ha creado en la instalación, sino que solamente se han creado un ejecutable de desinstalación, un "install.log" y una dll (Suite_CCSPic.dll). ¿A que puede ser esto debido?

Desconectado vszener

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2395
RE: Ayuda!!! Error en MPLAB
« Respuesta #4 en: 07 de Septiembre de 2005, 04:44:00 »
Hola zirix!!!haber el plug-in solamente es para que el entorno Mplab pueda integrar al compilador CCS(aunque en las nuevas versiones del Mplab ya viene incluido de por si asi que no hace falta el plug-in), lo que tienes que hacer para que esas directivas te funcionen es compilarlo con el compilador adecuado, es decir tienes que intalarte primero el compilador CCS y asi ya podra utilizar sus directivas y no te dara error.Giño
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado zirix

  • PIC10
  • *
  • Mensajes: 8
RE: Ayuda!!! Error en MPLAB
« Respuesta #5 en: 07 de Septiembre de 2005, 06:59:00 »
Ok, ya lo habia solucionado. Me he bajado el "PCWH_V3.203 PIC C Compiler", y con el plugin solucionado.

Mi duda es ahora que es mejor utilizar, si el PCWH o el MPLAB con su plugin, o da lo mismo?.

Muchas gracias.

Desconectado vszener

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2395
RE: Ayuda!!! Error en MPLAB
« Respuesta #6 en: 07 de Septiembre de 2005, 07:10:00 »
Lo mismo da, cuando integras el CCS en Mplab solamente usas el Mplab a nivel de entorno, a la hora de compilar te compila el CCS....cuestion de gustos, si te gusta mas el entorno de trabajo del Mplab pues lo usas(yo uso este entrono de trabajo) en cambio si te gusta mas el entorno de trabajo del CCS usalo, eso si en el CCS los projets wizard son mejores configurables que en el Mplab....pero bueno tampoco es que ganes mucho a mi modo de ver.....yo uso CCS en Mplab!jejeGiño
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado zirix

  • PIC10
  • *
  • Mensajes: 8
RE: Ayuda!!! Error en MPLAB
« Respuesta #7 en: 07 de Septiembre de 2005, 08:43:00 »
OK vszener, muchas gracias por tu opinion. La verdad es que si es mucho mas configurable el Project Wizard del PCWH.

En el MPLAB al compilar me da el siguiente error:

Clean: Deleting intermediary and output files.
Clean: Deleted file "F:Mp3 firm v2MP3.mcs".
Clean: Done.
Executing: "D:ElectronicaPICCCS PCWHCcsc.exe" "cf.c" +FH +DF +LN +T -A +M +Z +Y=9 +EA
*** Error 128 "F:Mp3 firm v2cf.h" Line 23(2,6): A #DEVICE required before this line
Halting build on first failure as requested.
BUILD FAILED: Wed Sep 07 15:38:34 2005


donde la linea de codigo (Line 23) es:

#byte CF_DATA   = 0x08     /* Port D */


Desconectado vszener

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2395
RE: Ayuda!!! Error en MPLAB
« Respuesta #8 en: 07 de Septiembre de 2005, 10:03:00 »
¿Tienes algun dispositivo declarado e el programa?
ejemplo:
#include <16F877.h> o algun otro? Giño
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado zirix

  • PIC10
  • *
  • Mensajes: 8
RE: Ayuda!!! Error en MPLAB
« Respuesta #9 en: 07 de Septiembre de 2005, 12:08:00 »
Si, tengo declarado en uno de los archivos un:

#include <18F452.h>


¿Que implica y como lo soluciono?

Gracias por tu ayuda vszener.


Desconectado adrian2a1

  • Colaborador
  • PIC12
  • *****
  • Mensajes: 75
RE: Ayuda!!! Error en MPLAB
« Respuesta #10 en: 07 de Septiembre de 2005, 13:07:00 »
Copia el programa entero, y así puede que te podamos ayudar.

Saludos.

Desconectado zirix

  • PIC10
  • *
  • Mensajes: 8
RE: Ayuda!!! Error en MPLAB
« Respuesta #11 en: 12 de Septiembre de 2005, 13:03:00 »
El programa entero es muy grande, tiene muchos archivos pero por lo que me habeis comentado y el error que me da, os pongo esto, por si me pudieseis ayudar:

cf.h

#define CF_A0      PIN_E0
#define CF_A1      PIN_E1
#define CF_A2      PIN_E2

#define CF_OE      PIN_A1
#define CF_WE      PIN_A2
#define CF_READY   PIN_A3
#define CF_RESET   PIN_A5
#define CF_CD      PIN_C5
#define CF_CE       PIN_B0
#define TRIS_D_INPUT  0xFF     // 11111111
#define TRIS_D_OUTPUT 0x00     // 00000000

#byte CF_DATA   = 0x08     /* Port D */
#byte CF_DATA_TRIS = 0x88    /* Port D TRIS */

// wait for the CF RDY line to go high, ie ready for next command
#define waitforready()  while (!input(CF_READY))

#define  REG_DATA      0x00   // ADDRESS OF DATA REGISTER
#define  REG_ERROR      0x01   // ADDRESS OF ERROR REGISTER
#define  REG_FEATURES      0x01   // ADDRESS OF FEATURES REGISTER
#define  REG_SECTORCOUNT   0x02   // ADDRESS OF SECTOR COUNT REGISTER
#define  REG_SECTORNUM      0x03   // ADDRESS OF SECTOR NUMBER REGISTER
#define  REG_CYLINDERLOW   0x04   // ADDRESS OF LOW CYLINDER REGISTER
#define  REG_CYLINDERHIGH   0x05   // ADDRESS OF HIGH CYLINDER REGISTER
#define  REG_HEAD      0x06   // ADDRESS OF HEAD/DRIVE REGISTER
#define  REG_STATUS      0x07   // ADDRESS OF STATUS REGISTER
#define  REG_COMMAND      0x07   // ADDRESS OF COMMAND REGISTER


#define  COMMAND_IDENTIFY      0xEC
#define  COMMAND_WRITESECTOR   0x30
#define  COMMAND_READSECTOR   0x20

#define CF_OK 0
#define NO_CF 1

boolean CF_isReady();
boolean CF_isBusy(void);
void CF_taskFileWrite(byte, byte);
byte CF_ReadByte(void);
void CF_WriteByte(byte data);


y luego el "#include <18F452.h>" lo tengo en el archivo "mp3.c", donde la parte de las definiciones es la siguiente:

mp3.c

#include <18F452.h>

// note that these aren"t "valid" since we use a bootloader
#fuses   HS, NOPROTECT, NOWDT, PUT, NOBROWNOUT, NOLVP

// 20 MHz clock
#use delay (clock=29491000)

#use rs232 (baud=115200, xmit=PIN_C6, rcv=PIN_C7)

long t=0;
#int_timer2
void t2() {
   t++;         // increments once a millisecond
}

//#use i2c(master, sda=PIN_C3, scl=PIN_C2)
#define SPI_CLK PIN_C0
#define SPI_SDO PIN_C1
#define I2C_SCL PIN_C2
#define I2C_SDA PIN_C3
#define MP3_DATAREQ PIN_A4
#define ENABLE_MP3 PIN_C4
#define MP3_RESET PIN_A0

#define BUTTON_VOLUP PIN_B1
#define BUTTON_VOLDN PIN_B4
#define BUTTON_1 PIN_B3
#define BUTTON_2 PIN_B5
#define BUTTON_3 PIN_B6
#define BUTTON_4 PIN_B7

// Disable automatic TRIS programming for all ports
#use fast_io(a)
#use fast_io(b)
#use fast_io(d)
#use fast_io(e)
#use fast_io(c)

#define nop #asm nop #endasm

#define TRIS_A       0b001000     // rst, mp3data, rdy, /we, /oe, /rst
#define TRIS_B       0b11111010    // 5 buttons, nc, button, /ce
#define TRIS_E         0b000       // all out addr pins
#define TRIS_C_I2CSEND      0b11100000   // 2 buttons (rx/tx), cd1, mp3enable, sda (i2c send), scl, sta_sdi, sta_sclk
#define TRIS_C_I2CRECV      0b11110000   // 2 buttons (rx/tx), cd1, mp3enable, sda (i2c recv), scl, sta_sdi, sta_sclk

byte sectorbuff[512];

#include "mp3.h"
#include "cf.c"
#include "fat16.c"
#include "sta013.c"

...


No se si con esto me podreis ayudar.


Muchas gracias.