TODOPIC
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
18 de Septiembre de 2014, 06:38:06

Ingresar con nombre de usuario, contraseña y duración de la sesión
Buscar:     Búsqueda Avanzada
348776 Mensajes en 39124 Temas por 40780 Usuarios
Último usuario: yeissonmfc
* Inicio Ayuda Buscar Calendario Ingresar Registrarse
Buscar en TodoPIC
+  TODOPIC
|-+  Microcontroladores PIC
| |-+  Lenguaje C para microcontroladores PIC (Moderadores: Modulay, pikman, pocher, vszener, Suky)
| | |-+  Código ensamblador en C.
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Marcar como favorito Imprimir
Autor Tema: Código ensamblador en C.  (Leído 1472 veces)
ggp0
PIC10
*
Desconectado Desconectado

Mensajes: 16


« : 21 de Noviembre de 2007, 16:36:36 »

Hola a todos;

Estoy intentando compilar un pequeño bloque de ensamblador dentro de un código en C, para compilar uso MPLAB con el HiTech PicC y me da un error, los SFR no están definidos, si no incluyo los nombres de los SFR en el código funciona correctamente pero no es muy práctico.
He leido el manual y dice que es necesario incluir una cabecera donde los SFR están definidos "htc.h", este fichero yo no lo tengo, pero en su lugar he incluido el "pic.h" que llama al "pic1687x.h" donde si están definidos los SFR del pic que estoy empleando pero el error sigue apareciendo.
Me da la impresión que me falta insertar algún tipo de palabra de configuración __CONFIG(), pero no lo se.
La verdad es que ando un poco perdido y agradecería cualquier ayuda.


A continuación muestro el pequeño ejemplo que estoy probando:
Código:
#include <pic.h>
#include <pic1687x.h>

unsigned char Retardos;
unsigned char Repite_1s;

void main(void)

#asm
Delay_aux1
bcf INTCON,2
movlw 0xD9
movwf TMR0
#endasm
}

Saludos.
Germán.
En línea
dhmejia
Colaborador
PIC18
*****
Desconectado Desconectado

Sexo: Masculino
Colombia Colombia

Mensajes: 252



« Respuesta #1 : 21 de Noviembre de 2007, 19:30:10 »

Cual es el error que te esta dando?

Si tienes configurado el device en el MPlab basta con que tengas incluido el archivo pic.h, el otro archivo no hace falta.
No recuerdo muy bien porque uso muy poco ensamblador dentro de C pero creo que para usar ensamblador en el picc de Hi-Tech debes colocar un guion bajo antes del nombre del registro,para este caso no seria INTCON sino _INTCON.  Prueba a ver que tal te va.

PD: No veo la necesidad de usar ensamblador en el codigo que tienes.

saludos,
En línea

Pereira - Colombia
ggp0
PIC10
*
Desconectado Desconectado

Mensajes: 16


« Respuesta #2 : 22 de Noviembre de 2007, 05:45:20 »

El error que me daba era:

Error[000]  0 : undefined symbol INTCON
Error[000]  0 : undefined symbol TMR0

Como bien decías la solución estaba en añadir un guión bajo.
Efectivamente, en el código que mostraba no hacía falta ensamblador pero ten en cuenta que simplemente pretendía probar como se inserta código ensamblador en C y detectar los detalles como lo del guión, por lo que cuanto más simple mejor.

Muchas gracias por tu acertada respuesta.

Salud.
En línea
dhmejia
Colaborador
PIC18
*****
Desconectado Desconectado

Sexo: Masculino
Colombia Colombia

Mensajes: 252



« Respuesta #3 : 22 de Noviembre de 2007, 09:34:48 »

ok, me alegra que hayas solucionado el problema.

saludos,
En línea

Pereira - Colombia
TODOPIC
   

 En línea
Páginas: [1] Imprimir 
« anterior próximo »
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.19 | SMF © 2006-2008, Simple Machines XHTML 1.0 válido! CSS válido!
Página creada en 0.253 segundos con 23 consultas.