TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: black_flowers en 04 de Septiembre de 2006, 20:03:34
-
alguien me puede pasar un link con el archivo 16f84a.h o uno compatible?
Es que estoy intentando compilar los ejemplos de esta pagina para el 16f84a y el picc no tiene los el .h por ningún sitio (ni el mplab tampoco).
un saludo. :-)
-
No se si es lo que quieres :?
//////// Standard Header file for the PIC16F84A device ////////////////
#device PIC16F84A
#nolist
//////// Program memory: 1024x14 Data RAM: 68 Stack: 8
//////// I/O: 13 Analog Pins: 0
//////// Data EEPROM: 64
//////// C Scratch area: 0C ID Location: 2000
//////// Fuses: LP,XT,HS,RC,NOWDT,WDT,NOPUT,PUT,PROTECT,NOPROTECT
////////
////////////////////////////////////////////////////////////////// I/O
// Discrete I/O Functions: SET_TRIS_x(), OUTPUT_x(), INPUT_x(),
// PORT_B_PULLUPS(), INPUT(),
// OUTPUT_LOW(), OUTPUT_HIGH(),
// OUTPUT_FLOAT(), OUTPUT_BIT()
// Constants used to identify pins in the above are:
#define PIN_A0 40
#define PIN_A1 41
#define PIN_A2 42
#define PIN_A3 43
#define PIN_A4 44
#define PIN_B0 48
#define PIN_B1 49
#define PIN_B2 50
#define PIN_B3 51
#define PIN_B4 52
#define PIN_B5 53
#define PIN_B6 54
#define PIN_B7 55
////////////////////////////////////////////////////////////////// Useful defines
#define FALSE 0
#define TRUE 1
#define BYTE int
#define BOOLEAN short int
#define getc getch
#define fgetc getch
#define getchar getch
#define putc putchar
#define fputc putchar
#define fgets gets
#define fputs puts
////////////////////////////////////////////////////////////////// Control
// Control Functions: RESET_CPU(), SLEEP(), RESTART_CAUSE()
// Constants returned from RESTART_CAUSE() are:
#define WDT_FROM_SLEEP 3
#define WDT_TIMEOUT 11
#define MCLR_FROM_SLEEP 16
#define MCLR_FROM_RUN 27
#define NORMAL_POWER_UP 27
#define BROWNOUT_RESTART 26
////////////////////////////////////////////////////////////////// Timer 0
// Timer 0 (AKA RTCC)Functions: SETUP_COUNTERS() or SETUP_TIMER_0(),
// SET_TIMER0() or SET_RTCC(),
// GET_TIMER0() or GET_RTCC()
// Constants used for SETUP_TIMER_0() are:
#define RTCC_INTERNAL 0
#define RTCC_EXT_L_TO_H 32
#define RTCC_EXT_H_TO_L 48
#define RTCC_DIV_1 8
#define RTCC_DIV_2 0
#define RTCC_DIV_4 1
#define RTCC_DIV_8 2
#define RTCC_DIV_16 3
#define RTCC_DIV_32 4
#define RTCC_DIV_64 5
#define RTCC_DIV_128 6
#define RTCC_DIV_256 7
#define RTCC_8_BIT 0
// Constants used for SETUP_COUNTERS() are the above
// constants for the 1st param and the following for
// the 2nd param:
////////////////////////////////////////////////////////////////// WDT
// Watch Dog Timer Functions: SETUP_WDT() or SETUP_COUNTERS() (see above)
// RESTART_WDT()
//
#define WDT_18MS 8
#define WDT_36MS 9
#define WDT_72MS 10
#define WDT_144MS 11
#define WDT_288MS 12
#define WDT_576MS 13
#define WDT_1152MS 14
#define WDT_2304MS 15
////////////////////////////////////////////////////////////////// INT
// Interrupt Functions: ENABLE_INTERRUPTS(), DISABLE_INTERRUPTS(),
// EXT_INT_EDGE()
//
// Constants used in EXT_INT_EDGE() are:
#define L_TO_H 0x40
#define H_TO_L 0
// Constants used in ENABLE/DISABLE_INTERRUPTS() are:
#define GLOBAL 0x0B80
#define INT_RTCC 0x0B20
#define INT_RB 0x0B08
#define INT_EXT 0x0B10
#define INT_EEPROM 0x0B40
#define INT_TIMER0 0x0B20
#list
-
sospecho que sí, gracias. :-)
-
Hola, creo que ese archivo es del CCS, si no lo tienes es que lo habras borrado por error, instala de nuevo el CCS y lo solucionas, a lo mejor te falta algun archivo mas.
Saludos y suerte.
-
pues no no era ese, he probado a compilar y me dá un error. Voy a probar a instalar el ccs, aunque el compilador que yo uso es el picc, y no me incluye dicho archivo.
-
Si tienes la versión demo, no soporta ese pic. Esto es lo que pone sobre la versión demo:
Only the Microchip 14 bit PIC16F877, PIC16C544 and 16 bit PIC18F458 target devices may be specified.
Un saludo
-
Pues si, el archivo es de CCS
Sorry, entonces no se a que Pic c te referias, tal vez al de HI-TECH :?
-
tengo ambos compiladores pero el que utilizo es el de hi-tec.
Lo que estoy haciendo es intentando compilar el ejemplo de los leds que viene en esta página y para ello he de adaptar algún código. Pero lo que me gustaría saber es si puedo utilizar el fichero pic16f84a.h (para incluír las definiciones de puertos etc.) con el compilador picc de hi-tec.
un saludo y gracias x vuestra ayuda! :-)
-
En ese aspecto e slo que hacen los compiladores incompatibles, no podras usar el archivo de definiciones de un pic del compilador CCS con el compilador de Hi-Tech ni viceversa, para ello tendrás que adaptar también el archivo de definiciones del pic a usar.....aunque me parece raro que el Hi-Tech no lo tenga de serie, eso sí, no lo busques con el mismo nombre que le dá la gente del CCS.
Suerte!!! :wink:
-
pues no lo he encontrado, ni siquiera he encontrado uno que fuese compatible (por lo menos aparentemente, por el nombre), ya que ni los genericos por ejemplo: 16f7x.h ninguno parece ser compatible con el 16f84 ni 16f84a a pesar de ser uno de los más populares.
Alguien me podría proporcionar dicho archivo o sabríais decirme si es compatible con alguno de estos? 16f81x 16f74
sl2. :-)
-
Me parece que estamos liando el cotarro, antes que nada, ¿qué compilador usas?
Suerte!!! :wink:
-
uso hi-tec y necesito el archivo .h que define los puertos (y todo lo demas) para el pic16f84a. :-)
-
Buenas!!! En la carpeta 'include' que se crea cuando instalas tu compilador, normalmente en esta ruta:
C:\Archivos de programa\HI-TECH Software\PICC-Lite\9.50\include
Están todos los dispositivos a usar, entre ellos lo que tú necesitas, te adjunto las librerias pic1684.h, la pic168xa y la pic.h
PD: Si te vuelve a pasar que pierdes las librerias, reinstala tú compilador picc-lite (http://www.htsoft.com/products/PICClite.php) de hi-tech (http://www.htsoft.com/)
Suerte!!! :wink:
-
Muchas gracias :-)