Autor Tema: Error con @ DEVICE en PBP  (Leído 5103 veces)

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

Desconectado xocas

  • Administrador
  • PIC24H
  • *******
  • Mensajes: 2312
Error con @ DEVICE en PBP
« en: 06 de Marzo de 2006, 06:43:00 »
Hola a todos/as y felicidades por este estupendo foro...

soy un recien llegado del mundo del Basic Stamp y estoy haciendo mis primeras pruebas en PBP, de momento recurriendo a ejemplos e intentando entender como funcionan y revisando las diferencias con respecto al Basic Stamp. He visto varios ejemplos que utilizan una instruccion  @ DEVICE al principio del programa y a la hora de compilar PBP me devuelve errores.

esta es la instruccion:
@ DEVICE PIC16F628,WDT_OFF,PWRT_ON,MCLR_ON,BOD_OFF,CPD_OFF,PROTECT_OFF

y estes los errores:
Warning[207]wink2.asm 44 : found label after column 1 (DEVICE)
Error[122]wink2.asm 44 : Illegal opcode(PIC16F628)

si no me equivoco es a la hora de crear el .asm que aparece una instruccion que no entiende. sin embargo, si compilo el .bas desde MPLAB me va perfecto... no se donde esta el error pero agradezco de antemano vuestra ayuda.

la version de PBP es la 2.46 y de MPLAB es la 7

Desconectado xocas

  • Administrador
  • PIC24H
  • *******
  • Mensajes: 2312
RE: Error con @ DEVICE en PBP
« Respuesta #1 en: 06 de Marzo de 2006, 07:44:00 »
Perdon porque si me da el mismo error en MPLAB... habia probado a compilar otro archivo que no contenia la linea @ DEVICE.

He visto un monton de ejemplos y tan solo unos pocos utilizan esta instruccion. ¿No se puede hacer lo mismo a la hora de programar el PIC desde el TE20 por ejemplo?.

El manual de PBP hace referencia a la instruccion @ como una llamada a codigo ensamblador pero no encuentro en ningun sitio -y mira que he revisado el foro- una explicacion a la instruccion @ DEVICE.

En fin, perdonar mi torpeza y un saludo

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
RE: Error con @ DEVICE en PBP
« Respuesta #2 en: 06 de Marzo de 2006, 08:57:00 »
Hola:

yo lo utilizo asi, sin ningun problema:

@ DEVICE pic16f628, INTRC_OSC_NOCLKOUT "Reloj interno solo
@ DEVICE pic16f628, WDT_OFF " Watchdog Timer desconectado
@ DEVICE pic16f628, PWRT_ON " Power-On Timer conectado
@ DEVICE pic16f628, BOD_ON " Brown-Out Detect conectado
@ DEVICE pic16f628, MCLR_OFF " Master Clear Externo desconectado
@ DEVICE pic16f628, LVP_OFF " Low-Voltage Programming desconectado
@ DEVICE pic16f628, CPD_OFF " Data Memory Code Protect desconectado

intentalo asi por separado a ver si te funciona...

Desconectado xocas

  • Administrador
  • PIC24H
  • *******
  • Mensajes: 2312
RE: Error con @ DEVICE en PBP
« Respuesta #3 en: 06 de Marzo de 2006, 09:37:00 »
Hola y ante todo gracias por tu rapida respuesta

No funciona tampoco asi y lo he probado tanto compilando con MPLAB como con PBP....

Espera que sobre la marcha encontre la solucion -o al menos que no me errores al compilar- y es la siguiente:

Selecciono el Target Processor adecuado en MicroCode Studio y compilo con PBP -sin usar MPASM- de esta forma se genera un .hex -que ya veremos si funciona- y no se genera el .asm que es donde aparece el error.

Antes me daba errores al compilar en PBP sin usar MPASM porque tenia seleccionado el PIC 16F628A en lugar del 16F628 en el Target Processor.

Probare de todas formas con otra version de MPLAB por si las moscas...

De nuevo muchas gracias por tu ayuda

un saludo

Desconectado electronando

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 427
RE: Error con @ DEVICE en PBP
« Respuesta #4 en: 06 de Marzo de 2006, 11:03:00 »
muchachos por que se hacen bolas con eso eso lo pueden configurar desde el mismo quemador de pic ya sea el icprog o el epic win , esas cofiguraciones se pueden hacer despues , o si me equivoco que alguien me lo refute jaja , lo que pasa es que en ese caso el pic basic usa o le cambia la etiqueta de configuracion en algunas cosas o algo asi y ami tb me mandaba ese error pero se soluciona solo mandando a quemar como quieras y listo no creo que en la base de tu programa este incluido esas configuraciones pruebenlo y luego me cuentan

Desconectado xocas

  • Administrador
  • PIC24H
  • *******
  • Mensajes: 2312
RE: Error con @ DEVICE en PBP
« Respuesta #5 en: 06 de Marzo de 2006, 11:58:00 »
Tal como me suponia desde un principio se puede hacer entonces desde el quemador... bien bien

el interes -y la duda todavia por confirmar- es si en el caso de realizar una llamada a una subrutina en ensamblador esta funcionara o seguira dando el error...

esta es la linea que muestra el .asm generado y motivo del error:

   ASM?
 DEVICE PIC16F628,WDT_OFF

   ENDASM?

si uso el pbp de esta forma, ningun problema: pbp -p16f628 miled (o le digo en microcode que no use mpasm)

pero si uso esta otra, se genera el error: pbp -p16f628 -ampasm miled (o le digo en microcode que use mpasm)

he probado el archivo .hex (el que no da errores, claro esta) en proteus y funciona sin problemas.

Bueno, en cualquier caso estoy comenzando asi que no me preocupare de momento con estas cosillas je je, y quizas no fue tampoco una manera muy afortunada de comenzar en el foro (pido perdon por ello), porque lo cierto es que de momento estoy probando cosas y cosas para que no me sea demasiado dificil el paso del basic stamp a otro lenguaje y por eso el PBP aunque segun he leido en otros post del foro quiza a la larga compense el proton...

Mis gracias de nuevo y espero que la proxima vez sea yo quien aporte algo al foro

un saludo

Desconectado Y@el

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 415
RE: Error con @ DEVICE en PBP
« Respuesta #6 en: 06 de Marzo de 2006, 12:20:00 »
Bueno, yo no hago en el programa, pero si los he cambiado en los archivos include del mismo PBP.
Puesto que para mi por
default es:

Para el caso de un 877, en el archivo 16f877.inc
Codigo:

;****************************************************************
;*  16F877.INC                                                  *
;*                                                              *
;*  By        : Leonard Zerman, Jeff Schmoyer                   *
;*  Notice    : Copyright (c) 2003 microEngineering Labs, Inc.  *
;*              All Rights Reserved                             *
;*  Date      : 11/07/03                                        *
;*  Version   : 2.45                                            *
;*  Notes     :                                                 *
;****************************************************************
        NOLIST
    ifdef PM_USED
        LIST
        include "M16F87x.INC"   ; PM header
        device  pic16F877, hs_osc, wdt_off, pwrt_off, lvp_off, protect_off
        XALL
        NOLIST
    else
        LIST
        LIST p = 16F877, r = dec, w = -302
        INCLUDE "P16F877.INC"   ; MPASM  Header
        __config _HS_OSC & _WDT_OFF & _PWRTE_OFF & _LVP_OFF & _CP_OFF
        NOLIST
    endif
        LIST




Bueno y con esto ya no me preocupo, claro que cuando tengo q hacer algo distinto. Ahi lo hago al momento de Grabar.

bytes

Desconectado xocas

  • Administrador
  • PIC24H
  • *******
  • Mensajes: 2312
RE: Error con @ DEVICE en PBP
« Respuesta #7 en: 06 de Marzo de 2006, 12:33:00 »
Hola

ya conocia tu web y tus estupendos robotitos y tambien habia tenido la idea de tener un archivo siempre a mano -a modo de plantilla- con las configuraciones para no tener que escribirlo pero... que le vamos hacer, hasta que descubra el motivo por el cual no funciona lo hare desde el quemador o compilare sin hacer uso de mpasm -aunque esto no se si es mejor o peor-

los primeros ejemplos los encontre en esta web que seguro ya conoceis: http://picmania.garcia-cuervo.com/Experimentos.htm y que como se puede ver son sencillos y añaden todo el codigo en una unica linea.

el proyecto en el que estoy trabajando hace uso de detectores de choque para robots que estoy construyendo en plan casero y que comence con el basic stamp pero debido a su precio (seran varios robotitos haciendo cosas*precio del pic) quisiera intentarlo en PBP y con 16f628. os tendre al detalle.. sobre todo si consigo que los detectores me den el resultado esperado

un saludo

Desconectado xocas

  • Administrador
  • PIC24H
  • *******
  • Mensajes: 2312
RE: Error con @ DEVICE en PBP
« Respuesta #8 en: 06 de Marzo de 2006, 12:58:00 »
Gracias Yoel

revisando el archivo 16f628.inc -y si no soy demasiado torpe- entiendo que si usamos PBP para compilar (PM) hara uso de la instruccion device  pic16F628, xt_osc... etc y si usamos mpasm lo hara del include de mplab:  __config _XT_OSC &... etc, por tanto -y repito, si no soy demasiado torpe- no es necesaria esa instruccion en el programa puesto que ya la tiene el include del pic

tambien es posible que el microcode studio le añada algo una vez seleccionado el pic en target processor... no lo se

bueno gracias miles a todos amigos, sabia que este foro se las traia de generoso pero estoy sencillamente im-presionado


 

anything