Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

19/02/2012 #261
Moderador

Avatar de D@rkbytes

skaty220 dijo: Ver Mensaje
Soy principiante de Microcontraladores, y al compilarlo me sale este error
Preprocessor symbol `__DEBUG' is defined. ; <-- Esto no es un error

Código:
        LIST    P=18F2550
        INCLUDE    <PIC18F2550.INC> ; <-- Aquí hay un error. Se escribe <P18F2550.INC>

;Bits de configuracion
                        
        CONFG FOSC = INTOSCIO_EC ; <-- Aquí hay otro error
        CONFIG MCLRE = ON
        CONFIG BOR = OFF
        CONFIG PWRT = OFF
        CONFIG LVP = OFF
        CONFIG XINST = OFF
        CONFIG PBADEN = OFF
        CONFIG CP0 = OFF
        CONFIG CP1 = OFF
        CONFIG CP2 = OFF
        CONFIG CP3 = OFF
        CONFIG CPB = OFF
        CONFIG CPD = OFF
El programa tiene que hacer una secuencia de leds, la verdad no tengo ni idea de porque sale el error, ya que aun se muy poquito, gracias
Corrige esos errores y lo podrás compilar.
Suerte y hasta luego.

PD. Saludos a Saltillo. Yo vivi por allá más de 20 años.
19/02/2012 #262

Avatar de skaty220

Darkbytes dijo: Ver Mensaje
Corrige esos errores y lo podrás compilar.
Suerte y hasta luego.

PD. Saludos a Saltillo. Yo vivi por allá más de 20 años.

Muchas gracias, si tienes razon y aparte no cargue el programa al proyecto, ya pude resolverlo muchas gracias, saludos!
25/02/2012 #263

Avatar de Meta

Erroro con el nuevo MPLAB
Hola:

Con este código esoy pasando un jemplo del PIC16F84A al PIC16F88.

Código:
; El LED conectado a la línea 0 del puerto de salida se enciende durante 400 ms y se
; apaga durante 300 ms. Utiliza las subrutinas de la librería RETARDOS.INC.
;
; ZONA DE DATOS *********************************************************************

    LIST        P=16F88
    INCLUDE        <P16F88.INC>
        __CONFIG    _CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_ON & _PWRTE_ON & _WDT_OFF & _INTRC_IO
        __CONFIG    _CONFIG2, _IESO_OFF & _FCMEN_OFF

    CBLOCK  0x20
    ENDC

#DEFINE  LED    PORTB,0

; ZONA DE CÓDIGOS *******************************************************************

    ORG    0
Inicio
    bsf        STATUS,RP0                ; Acceso al Banco 1.
    bcf        LED                        ; Línea del LED configurada como salida.
    bcf        STATUS,RP0                ; Acceso al Banco 0.
Principal
    bsf        LED                        ; Enciende el LED
    call    Retardo_200ms            ; durante la suma de este tiempo.
    call    Retardo_200ms
    bcf        LED                        ; Lo apaga durante la suma de los siguientes
    call    Retardo_200ms            ; retardos.
    call    Retardo_100ms
    goto     Principal

    INCLUDE  <RETARDOS.INC>            ; Librería con subrutinas de retardo.
    END                                ; Fin del programa.
Tengo un error y no se como slucionarlo con el nuevo MPLAB_X v1.00 ya que no me lo indica tan fácil como el MPLAB v8.84 al pinchar dos veces en el mensaje de error.

make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory `C:/Documents and Settings/Administrador/MPLABXProjects/Retardos_16F88.X'
make -f nbproject/Makefile-default.mk dist/default/production/Retardos_16F88.X.production.hex
make[2]: Entering directory `C:/Documents and Settings/Administrador/MPLABXProjects/Retardos_16F88.X'
"C:\Archivos de programa\Microchip\MPLABX\mpasmx\mpasmx.exe" -q -p16f88 -l"build/default/production/build/default/production/nbproject/Retardo_02.lst" -e"build/default/production/build/default/production/nbproject/Retardo_02.err" -o"build/default/production/build/default/production/nbproject/Retardo_02.o" build/default/production/nbproject/Retardo_02.asm
"C:\Archivos de programa\Microchip\MPLABX\mpasmx\mplink.exe" -p16f88 -w -z__MPLAB_BUILD=1 -odist/default/production/Retardos_16F88.X.production.cof build/default/production/build/default/production/nbproject/Retardo_02.o build/default/production/nbproject/RETARDOS.INC
MPLINK 4.41, Linker
Device Database Version 1.5
Copyright (c) 1998-2011 Microchip Technology Inc.
Error - unrecognized input: build/default/production/nbproject/RETARDOS.INC
Errors : 1

make[2]: Leaving directory `C:/Documents and Settings/Administrador/MPLABXProjects/Retardos_16F88.X'
make[2]: *** [dist/default/production/Retardos_16F88.X.production.hex] Error 1
make[1]: Leaving directory `C:/Documents and Settings/Administrador/MPLABXProjects/Retardos_16F88.X'
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2

BUILD FAILED (exit value 2, total time: 2s)


¿Cuál es el error?
26/02/2012 #264

Avatar de Basalto

Hola. Ese error me lo daba cuando no encontraba la carpeta del LINKER (Botón derecho sobre proyecto y darle a propiedades), o cuando intentaba compilar con el c18 de dudosa procedencia
23/03/2012 #265


Problema al compilar programa para PIC16F886 con pbp 2.6 y mplab v8.83
Hola a todos estoy tratando de compilar un programa para PIC16F886 con pbp 2.6 y mplab v8.83, pero cuando doy click en "compile" me aparece el siguiente mensaje:

Executing: "C:\PBP\PBPMPLAB.BAT" -ampasmwin -k# -p16F886 "servo.bas"
MPASMWIN.EXE could not be found at:
C:\Program Files\Microchip\MPASM Suite
In order for PBP to function from MPLAB, the path to
MPASMWIN.EXE must be corrected by editing the file:
"C:\PBP\PBPMPLAB.BAT"
BUILD FAILED: Fri Mar 23 10:50:19 2012

ya he intentado lo que dice en esta pagina http://melabs.com/support/mplab.htm
y no me funciona aun
Ojala pudieran ayudarme a solucionar el problema. De antemano gracias por su ayuda
(uso windows xp profesional versión 2002 service pack 2)
23/03/2012 #266
Moderador

Avatar de D@rkbytes

isranator3 dijo: Ver Mensaje
Hola a todos estoy tratando de compilar un programa para PIC16F886 con pbp 2.6 y mplab v8.83, pero cuando doy click en "compile" me aparece el siguiente mensaje:

Executing: "C:\PBP\PBPMPLAB.BAT" -ampasmwin -k# -p16F886 "servo.bas"
MPASMWIN.EXE could not be found at:
C:\Program Files\Microchip\MPASM Suite
In order for PBP to function from MPLAB, the path to
MPASMWIN.EXE must be corrected by editing the file:
"C:\PBP\PBPMPLAB.BAT"
BUILD FAILED: Fri Mar 23 10:50:19 2012

ya he intentado lo que dice en esta pagina http://melabs.com/support/mplab.htm
y no me funciona aun
Ojala pudieran ayudarme a solucionar el problema. De antemano gracias por su ayuda
(uso windows xp profesional versión 2002 service pack 2)
Saludos.
Tienes que modificar el archivo C:\PBP\PBPMPLAB.BAT
Como tu instalación de Windows debe estar en español,
el programa MPASMWIN.EXE se instala en C:\Archivos de programa\Microchip\MPASM Suite
Y en tu archivo PBPMPLAB.BAT se hace referencia hacia C:\Program Files\Microchip\MPASM Suite
Debes modificar dicho archivo precisamente en la línea que dice:
SET MPASMWIN_PATH=C:\Program Files\Microchip\MPASM Suite
Por esto otro:
SET MPASMWIN_PATH=C:\Archivos de programa\Microchip\MPASM Suite
Con eso debe compilar sin problemas.
Nota: La configuración de fuses no debe estar en el programa,
debe ser modificada en el archivo *.inc correspondiente al PIC que utilices.
En seguida de la línea __CONFIG
Y se escriben en lenguaje ensamblador.
Pero es opcional si los puedes establecer con el programa que uses para grabar el PIC.
O dejar los fuses que se encuentran por default.
Suerte y hasta luego.
27/03/2012 #267


Hey! muchas gracias solucionaste mi problema, ya compila sin problemas
27/03/2012 #268
Moderador

Avatar de D@rkbytes

isranator3 dijo: Ver Mensaje
Hey! muchas gracias solucionaste mi problema, ya compila sin problemas
Saludos.
Es bueno saber que este tip soluciono tu problema.
Así quedara como referencia para otras personas que les suceda lo mismo.

Suerte y hasta luego.
10/05/2012 #269


Libreria LCD 16x2 & MPLAB [Problema]
Hola que tal? Me veo bajo la urgencia de buscar ayuda de gente que sepa mas que yo
Hace varios dias que estoy tratando de hacer funcionar una pantalla LCD 16x2 con MPLAB y el compilador HI-TECH C COMPILER.
Despues de dar muchas vueltas por la web, encontre unas librerias en C que son las mas simples que habia. El tema es que el programa con las librerias me compila pero no lo puedo hacer andar en Proteus. Es decir que no me muestra nada la pantallita.

Les paso las librerias que tengo agregadas a mi programa para que le hechen un ojo y el circuito en Proteus.
Alguien que me diga que esta mal porfavor que ya me estoy desesperandooooo!

Saludos!

lcd.h
Código:
extern void lcd_write(unsigned char);		//Write a byte to the LCD in 4 bit mode
extern void lcd_clear(void);			//Clear and home the LCD
extern void lcd_puts(const char * s);		//Write a string of characters to the LCD
extern void lcd_goto(unsigned char pos);	//Go to the specified position
extern void lcd_init(void);			//Initialize the LCD - Call before anything else!
extern void lcd_putch(char);

/*	Set the cursor position */
#define	lcd_cursor(x)	lcd_write(((x)&0x7F)|0x80)
#define	LINE1		0x00			//Position of line1
#define	LINE2		0x40			//Positino of line2

lcd.c
Código:
#include	<pic.h>
#include	"../lib/lcd.h"
#include	"../lib/delay.h"

#define LCD_RS	RA2	// Register select
#define LCD_EN	RA3	// Enable
#define LCD_D4	RB0	// Data bits
#define LCD_D5	RB1	// Data bits
#define LCD_D6	RB2	// Data bits
#define LCD_D7	RB3	// Data bits

#define	LCD_STROBE	((LCD_EN = 1),(LCD_EN=0))

/***************************************/
/*Write a byte to the LCD in 4 bit mode*/
/***************************************/
void
lcd_write(unsigned char c)
{
	if(c & 0x80) LCD_D7=1; else LCD_D7=0;
	if(c & 0x40) LCD_D6=1; else LCD_D6=0;
	if(c & 0x20) LCD_D5=1; else LCD_D5=0;
	if(c & 0x10) LCD_D4=1; else LCD_D4=0;
	LCD_STROBE;
	if(c & 0x08) LCD_D7=1; else LCD_D7=0;
	if(c & 0x04) LCD_D6=1; else LCD_D6=0;
	if(c & 0x02) LCD_D5=1; else LCD_D5=0;
	if(c & 0x01) LCD_D4=1; else LCD_D4=0;
	LCD_STROBE;	
	DelayUs(40);
}


/******************************/
/*   Clear and home the LCD   */
/******************************/
void
lcd_clear(void)
{
	LCD_RS = 0;
	lcd_write(0x1);
	DelayMs(2);
}


/**************************************/
/* Write a string of chars to the LCD */
/**************************************/
void
lcd_puts(const char * s)
{
	LCD_RS = 1;	// write characters
	while(*s) lcd_write(*s++);
}


/**********************************/
/* Write one character to the LCD */
/**********************************/
void
lcd_putch(unsigned char c)
{
	LCD_RS = 1;	// write characters
	lcd_write(c);
}


/********************************/
/* Go to the specified position */
/********************************/
void
lcd_goto(unsigned char pos)
{
	LCD_RS = 0;
	lcd_write(0x80 + pos);
}


/********************************************/	
/* Initialise the LCD - put into 4 bit mode */
/********************************************/
void
lcd_init(void)
{
	LCD_RS = 0;		// write control bytes
	DelayMs(15);		// power on delay
	LCD_D4 = 1;		// init!	
	LCD_D5 = 1; 		//
	LCD_STROBE;	
	DelayMs(5);
	LCD_STROBE;		// init!	
	DelayUs(100);
	LCD_STROBE;		// init!	
	DelayMs(5);
	LCD_D4 = 0;		// set 4 bit mode
	LCD_STROBE;	
	DelayUs(40);
	lcd_write(0x28);	// 4 bit mode, 1/16 duty, 5x8 font, 2lines
	lcd_write(0x0C);	// display on
	lcd_write(0x06);	// entry mode advance cursor
	lcd_write(0x01);	// clear display and reset cursor
}

delay.h
Código:
#ifndef XTAL_FREQ
 #define XTAL_FREQ 4MHZ /* Crystal frequency in MHz */
 #endif
 
#define MHZ *1000L /* number of kHz in a MHz */
 #define KHZ *1 /* number of kHz in a kHz */
 
#if XTAL_FREQ >= 12MHZ
 
#define DelayUs(x) { unsigned char _dcnt; \
 _dcnt = (x)*((XTAL_FREQ)/(12MHZ)); \
 while(--_dcnt != 0) \
 continue; }
 #else
 
#define DelayUs(x) { unsigned char _dcnt; \
 _dcnt = (x)/((12MHZ)/(XTAL_FREQ))|1; \
 while(--_dcnt != 0) \
 continue; }
 #endif
 
extern void DelayMs(unsigned char);


delay.c
Código:
#include "../lib/delay.h"
 
void
 DelayMs(unsigned char cnt)
 {
 #if XTAL_FREQ <= 2MHZ
 do {
 DelayUs(996);
 } while(--cnt);
 #endif
 
#if XTAL_FREQ > 2MHZ 
unsigned char i;
 do {
 i = 4;
 do {
 DelayUs(250);
 } while(--i);
 } while(--cnt);
 #endif
 }

main.c
Código:
#include	<pic.h>
#include	"../lib/lcd.h"
#include	"../lib/delay.h"

void main()
{

__CONFIG( WDTE_OFF & FOSC_XT & PWRTE_OFF);

TRISA = 0;			//PORTA, PORTB, PORTC & PORTD como Output
TRISB = 0;			//			
TRISC = 0;			//			
TRISD = 0;			//		
PORTA = 0;			//Inicializacion en 0
PORTB = 0;			//
PORTC = 0;			//
PORTD = 0;			//

lcd_init();
lcd_goto(0x00);
lcd_puts("0123456789");
}
Imágenes Adjuntas
Tipo de Archivo: jpg Circuito.jpg (83,2 KB (Kilobytes), 9 visitas)
31/05/2012 #270


fijate que yo tambien tengo el problema de rlf y rrf ... pero noto que independientemente de todo lo que se comento aqui no llego a la solucion aun ... y noto que en mi codigo el rlf ni el rrf se ponen de color azul, osea MPlab no lo esta leeiendo o reconosiendo como un codigo en si... Necesito que me ayuden a solucionarlo para poder terminar mi proyecto o como puedo sustituir la accion del rlf y o rrf sin usar esos comandos ?


aqui dejo mi codigo

list p=16f84a
#include <P16F84A.INC> ;incluye archivos de definicion de registros
;---------------------------------------------
reg1 equ 0x0c
reg2 equ 0x0d
reg3 equ 0x0e
rota equ 0x0f
;----------------------------------------------
org 0x00
goto inicio
org 0x04 ;vector de interrupciones

clrf reg1
clrf reg2
bucle decfsz reg1,F
goto bucle
decfsz reg2,F
goto bucle

no btfsc PORTB,0
goto no
nuevo clrf rota
bsf rota,0
otra movf rota,W
movwf PORTA
call retardo
rlf rota,F
btfss rota,4
goto otra
bcf INTCON,1 ;volver a 0 la bandera de la interrupcion ya que se pone en 1 al activar la interrupcion
retfie

inicio bsf STATUS,5 ;5 o RP0
clrf TRISA
bsf TRISB,0
bsf OPTION_REG,6 ;registro para activar interrupcion cuando sea un 1 si se busca cuando sea un 0 solo es cambiar el comando bsf por bcf
bcf STATUS,5
;-----------------------------------------------
bsf INTCON,4 ;hailita interupcion externa
bsf INTCON,7 ;habilita todas las interupciones
clrf PORTA
dormir sleep
goto dormir
;-------------------------------------------------
retardo clrf reg1
clrf reg2
movlw 0x05
movwf reg3
bucle1 decfsz reg1,F
goto bucle1
decfsz reg2,F
goto bucle1
decfsz reg3,F
goto bucle1
return
;-------------------------------------------------
end
;-------------------------------------------------

segido de los errores que me precenta al compilar

----------------------------------------------------------------------
Release build of project `C:\Documents and Settings\Bucher\My Documents\Mecatronica\MPlab Proyect\Interrupciones\Interrupciones.mcp' started.
Language tool versions: MPASMWIN.exe v5.45, mplink.exe v4.43, mplib.exe v4.43
Thu May 31 23:46:57 2012
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "C:\Program Files\Microchip\MPASM Suite\MPASMWIN.exe" /q /p18F452 "Interrupciones.asm" /l"Interrupciones.lst" /e"Interrupciones.err" /o"Interrupciones.o"
Warning[215] C:\DOCUMENTS AND SETTINGS\BUCHER\MY DOCUMENTS\MECATRONICA\MPLAB PROYECT\INTERRUPCIONES\INTERRUPCIONES.ASM 1 : Processor superseded by command line. Verify processor symbol.
Message[301] C:\PROGRAM FILES\MICROCHIP\MPASM SUITE\P16F84A.INC 33 : MESSAGE: (Processor-header file mismatch. Verify selected processor.)
Error[126] C:\PROGRAM FILES\MICROCHIP\MPASM SUITE\P16F84A.INC 160 : Argument out of range (must be greater than or equal to 255)
Error[126] C:\PROGRAM FILES\MICROCHIP\MPASM SUITE\P16F84A.INC 161 : Argument out of range (__MAXRAM must be used first)
Error[126] C:\PROGRAM FILES\MICROCHIP\MPASM SUITE\P16F84A.INC 162 : Argument out of range (__MAXRAM must be used first)
Error[126] C:\PROGRAM FILES\MICROCHIP\MPASM SUITE\P16F84A.INC 163 : Argument out of range (__MAXRAM must be used first)
Warning[207] C:\DOCUMENTS AND SETTINGS\BUCHER\MY DOCUMENTS\MECATRONICA\MPLAB PROYECT\INTERRUPCIONES\INTERRUPCIONES.ASM 27 : Found label after column 1. (rlf)
Error[122] C:\DOCUMENTS AND SETTINGS\BUCHER\MY DOCUMENTS\MECATRONICA\MPLAB PROYECT\INTERRUPCIONES\INTERRUPCIONES.ASM 27 : Illegal opcode (rota)
Halting build on first failure as requested.
----------------------------------------------------------------------
Release build of project `C:\Documents and Settings\Bucher\My Documents\Mecatronica\MPlab Proyect\Interrupciones\Interrupciones.mcp' failed.
Language tool versions: MPASMWIN.exe v5.45, mplink.exe v4.43, mplib.exe v4.43
Thu May 31 23:46:58 2012
----------------------------------------------------------------------
BUILD FAILED
01/06/2012 #271
Moderador

Avatar de D@rkbytes

colvix dijo: Ver Mensaje
fijate que yo tambien tengo el problema de rlf y rrf ... pero noto que independientemente de todo lo que se comento aqui no llego a la solucion aun ... y noto que en mi codigo el rlf ni el rrf se ponen de color azul, osea MPlab no lo esta leeiendo o reconosiendo como un codigo en si... Necesito que me ayuden a solucionarlo para poder terminar mi proyecto o como puedo sustituir la accion del rlf y o rrf sin usar esos comandos ?
Saludos colvix
Solo por para determinar si existía algún error no notado visualmente en tu programa, lo compile.
Y se compilo sin problema alguno, con sus respectivos warnings acerca de la selección de bancos.
Pero de ahí en fuera nada anormal. Lo único que hice fue tabular el código en el editor,
ya que al copiarlo aquí, se alinea el texto a la izquierda y hay que tabularlo después de pegarlo.
Notas:
1.- Las instrucciones rlf y rrf son instrucciones validas para MPASM, no necesitas sustituirlas.
2.- Las instrucciones se ponen en color azul cuando son reconocidas por el editor.
3.- Compile usando MPLAB v8.85 con MPASM v5.45
4.- En tu código no estas declarando los fuses, y la compilación por default generara un HEX
con la configuración de oscilador RC y el Watch Dog Timer activado.

Te adjunto el programa como lo tabule y ya compilado.
Prueba compilandolo para salir de dudas, por si tienes algo mal instalado o configurado.

Suerte.
Archivos Adjuntos
Tipo de Archivo: rar colvix.rar (6,2 KB (Kilobytes), 7 visitas)
21/11/2012 #272


Estoy trabajando con el PIC 16F877A y MPLAB y el problema es que al parecer mi programa es demasiado largo, pero según el manual del PIC no estoy usando ni la mitad.
Cuando compilo mi programa me sale el ese error que ven y no puedo compilarlo, pero luego borro una linea de programa y si me permite compilar o sea es como si estuviera sobrepasando su capacidad de memoria de programa y por eso no me permite compilar.
fuera del anterior error que es el que mas me interesa porque no me permite compilar tengo otro
que es un warning que no entiendo porque sale, no me causa problemas pero quisiera que no salga.
ADJUNTO IMAGENES para que las vean y ver si me pueden ayudar
VERSION DE PROTEUS-ISIS es la 7.6
VERSION DE MPLAB 8.36
Imágenes Adjuntas
Tipo de Archivo: jpg ER1.JPG (26,4 KB (Kilobytes), 17 visitas)
Tipo de Archivo: jpg INI.JPG (15,9 KB (Kilobytes), 17 visitas)
Tipo de Archivo: jpg MEM.JPG (18,6 KB (Kilobytes), 13 visitas)
Tipo de Archivo: jpg er.JPG (51,4 KB (Kilobytes), 17 visitas)
30/11/2012 #273

Avatar de pinocho

pic basic pro desde mplab
a ver si alguien me puede ayudar tengo el siguiente error al compilar mplab


Executing: "C:\PBP\PBPW.EXE" -l -p16F628A "sol1.bas"
PICBASIC PRO(TM) Compiler 2.50, (c) 1998, 2007 microEngineering Labs, Inc.
All Rights Reserved.

C:\PBP\16F628A.BAS WARNING Line 16: LIBRARY: Command line overrides statement.
ERROR: Unable to open file .MACHalting build on first failure as requested.
BUILD FAILED: Fri Nov 30 10:52:37 2012
01/12/2012 #274

Avatar de snakewather

En el PBP En la barra de opciones creo debe haber una opcion para seleccionas la carpeta MPASMwin que es la suite de MPLAB y que pic basic pro utiliza para compilar todo programa hecho es su entorno en estos momentos no tengo la info a la mano pero mañana se las posteo pa que sepan como hay que hacerle.
13/01/2013 #275


Buenas noches, yo tuve el mismo problema con la instrucción _DATA_CP_OFF bueno recién me inicio en la programación de pic así que no se mucho aun, en el curso que estoy llevando de pic en nuestra clase usamos esa instrucción en la cabecera y la compilamos normal ahora que intente hacer nuevos programas no me compilaba así que borre esa instrucción y me funciono bien todo :S no-sé a que se deba eso, si alguien pudiera explicarme por favor. Gracias
13/01/2013 #276
Moderador

Avatar de D@rkbytes

mayron22 dijo: Ver Mensaje
borre esa instrucción y me funciono bien todo :S no-sé a que se deba eso, si alguien pudiera explicarme por favor. Gracias
Saludos.
Explicare a que se debe el error de compilación al usar el fuse _DATA_CP_OFF

Esto se debe a que ese fuse no se encuentra declarado de esa forma dentro del archivo P16F627A.INC
Como vienen declarados los fuses referentes, es de esta manera...
Código:
DATA_CP_ON           EQU  H'3EFF'    ; Data memory code-protected
DATA_CP_OFF          EQU  H'3FFF'    ; Data memory code protection off
Como podrán ver, es el guión bajo inicial el que se ha omitido en este fuse, tanto en ON como en OFF.
Por lo tanto, solo basta quitar el guión bajo inicial de este fuse para compilar sin el error.

Si tomamos como referencia, el archivo 16F627ATEMP.ASM (Template)
para determinar una configuración básica, veremos que existe un bug no corregido hasta la fecha.
Ya que se esta utilizando este fuse que no está escrito de la forma en que viene dentro de P16F627A.INC
Para esta fecha, ahora tengo la versión 8.88 de MPLAB y continua la misma definición...
Código:
  
  __CONFIG   _CP_OFF & _DATA_CP_OFF & _LVP_OFF & _BOREN_OFF & _MCLRE_ON & _WDT_OFF & _PWRTE_ON & _INTOSC_OSC_NOCLKOUT
Espero haber aclarado el detalle con ese problema.

Nota: Posiblemente en versiones anteriores, esa era la forma en que se escribía ese fuse.
Yo fui escalando desde la versión 5.40 hasta ahora la 8.88, y no note el cambio ya que no usaba ese PIC.
Sin embargo, si han existido algunas modificaciones a los fuses en otros PIC.

Suerte.
14/01/2013 #277


Gracias D@rkbytes, yo tambien tuve esa idea pero al ser nuevo en esto no estaba seguro, ya que mi profesor lo hizo con ese encanbezado y lo compilo normal. Bueno ahora te queria preguntar si tengo que buscar el reemplazo de: _DATA_CP_OFF para la version de mi MPLAB 8.85 o simplemente lo borro y lo dejo asi, en caaso sea el reemplazo seria de gran ayuda si lo tuvieras. y por cierto en mi caso fue con el P16F628A. Gracias de antemano.
14/01/2013 #278
Moderador

Avatar de D@rkbytes

Para la versión 8.85 deben ser los mismos que cite anteriormente, DATA_CP_OFF y DATA_CP_ON
Es lo mismo para el 16F627/A, 16F628/A y 16F648.
Por default el compilador no establece protecciones al compilar, así que puedes omitirlos.

Saludos.
14/01/2013 #279


Efectivamente es así, sin el guion bajo antes de la palabra. Muchas gracias por la informacion
26/04/2013 #280

Avatar de Meta

Hola:

Ver imagen.

http://www.subeimagenes.com/img/instantanea1-618002.png

Probando el nuevo MPLAB X v1.70 no me depura poco a poco o no sigue las líneas de los código, compilar compila. En cambio, en Windows 7, MPLAB v8.90 funciona de maravilla.

Uso OpenSUSE 12.3. En Ubuntu 12.10 e incluso el más nuevo 13.04 me pasa lo mismo, también el MPLAB X v1.70 bajo Windows 7 de 64 bits.

¿Alguna sugerencia?

Saludo.
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.