Autor Tema: problema migrando assembler a ccs  (Leído 1876 veces)

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

Desconectado jorje2005

  • PIC10
  • *
  • Mensajes: 6
problema migrando assembler a ccs
« en: 08 de Julio de 2005, 17:02:00 »
Hola listeros ,recien empiezo con el C y se me presentaron inconvenientes migrando codigo assembler(#asm #endasm) desde mplab al C ,el C no me reconoce los registros del pic status,option_reg,porta,etc...ovbio que habra una forma de definirlos pero no encuentro nada en la ayuda,solo hay un ejemplito chico en assebmler donde rescate que hay que poner dos puntos antes de los labels de las subrutinas...
alguien me puede dar una manito??
gracias por adelantado!
Jorge
   

Desconectado JorgitoFRyOle

  • PIC12
  • **
  • Mensajes: 79
RE: problema migrando assembler a ccs
« Respuesta #1 en: 10 de Julio de 2005, 18:33:00 »
Buenas:

Trabajo con ccs, no controlo muxo de assembler, mas concretamente casi na. Pero de C aun tengo un pokito de idea, de lo que hablas creo que si instalaste el compilador de ccs en el ordenata, en archivos de programa, tendras una carpeta que ponga PIC (si no es asi la ruta que le pusiste cuando lo instalaste), en la carpeta a la que me refiero tienes otras carpetas, una es de ejemplos donde tienes codigos de como manejar algun dispositivo, otra de drivers donde te pone ejemplos de como crear codigo para manejar un dispositivo y , ademas de otras, la que nos interesa, devices donde estan las librerias de los micros, echale un vistazo a la libreria del micro que uses y a ver si sacas una ideita.

1Saludo, Jorge

Desconectado jorje2005

  • PIC10
  • *
  • Mensajes: 6
RE: problema migrando assembler a ccs
« Respuesta #2 en: 11 de Julio de 2005, 10:38:00 »
Ya encontre como definir los puertos...#byte , pero sigue sin andar cuando intento hacerlo en assemblerloco!!!!(el tema con el assembler es que tengo mucho codigo hecho y algunas cosas me conviene migrarlas como subrutinas en vez de escribir todo de nuevo)
ahi va la prueba que estoy haciendo de prender un led en PORTE,1,en la hoja de datos del 18f452 el PORTE esta en la posicion de memoria 84h,es decir 132 en decimal,asi que defino el puerto #byte porte= 132....alguien tiene idea porque esto no anda????please helpppp!

#include "18f452.h"
#fuses HS,NOWDT,NOPROTECT
#use delay(clock=20000000)
#DEFINE LED PIN_E1
#byte porte= 132
SET_TRIS_E(00000000);//E0,E1,E2 como salidas-
void main() {
//output_bit(led,1); prueba en c anda sin problemas
#asm
bsf porte,1             ;en assembler no anda
#endasm
}

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: problema migrando assembler a ccs
« Respuesta #3 en: 11 de Julio de 2005, 10:59:00 »
Mete el SET_TRIS_E(00000000) en el main de lo contrario no te programa la salida.

Con output_bit no es necesario el set_tris, programa el puerto automáticamente cuando encuentra la instrucción output_bit.

Un saludo

Desconectado jorje2005

  • PIC10
  • *
  • Mensajes: 6
RE: problema migrando assembler a ccs
« Respuesta #4 en: 11 de Julio de 2005, 16:05:00 »
OK,gracias ,todo solucionado,simule en mplab y encontre los problemas,1 la posision ce memoria del puerto del puerto E era F84h es decir #byte porte= 3972,y segundo como dijo el amigo porcher el tris va adentro del lazo main...
gracias a todos!!empiezo a migrar assembler...Giño
saludosssss
jorje