TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Papote en 18 de Noviembre de 2012, 18:35:40
-
Hola mi nombre es oscar y estoy iniciandome en el curso de programacion en c para microcontroladores pic con el compilador Hi Tech C de microchip. Bueno estoy siguiendo un curso del video tutorial de http://www.micro2c.com/ en el segundo video sigo paso a paso el contenido y al tratar de compilar me tira un error. No lo se busque en varios sitios web y no encuentro solucion, y, por motivo de aprender recurro a este gran foro dedicado a estas maravillas de la electronica.
Adjunto el codigo
#include <htc.h>
#define _XTAL_FREQ 4000000
void main(main)
{
TRISB=0X00; // 1 REPRESENTA ENTRADA - 0 REPRESENTA SALIDAS CONFIGURACION DE LOS PINES.
for(;;)
{
PORTB^=1;
__Delay_ms(1000);
}
}
Y, este es el error de compilacion.
Make: The target "C:\Users\Oscar\Documents\16f84a\proyecto hi tech mplab\main.p1" is out of date.
Executing: "C:\Program Files\HI-TECH Software\PICC\9.70\bin\picc.exe" --pass1 "C:\Users\Oscar\Documents\16f84a\proyecto hi tech mplab\main.c" -q --chip=16F877A -P --runtime=default --opt=default -g --asmlist "--errformat=Error [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s"
Warning [361] C:\Users\Oscar\Documents\16f84a\proyecto hi tech mplab\main.c; 13.1 function declared implicit int
Executing: "C:\Program Files\HI-TECH Software\PICC\9.70\bin\picc.exe" "-onuevo 1.cof" "-mnuevo 1.map" --summary=default --output=default main.p1 --chip=16F877A -P --runtime=default --opt=default -g --asmlist "--errformat=Error [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s"
(1273) Omniscient Code Generation not available in Lite mode (warning)
HI-TECH C Compiler for PIC10/12/16 MCUs (Lite Mode) V9.70
Copyright (C) 2009 Microchip Technology Inc.
Error [499] ; 0. undefined symbol:
___Delay_ms(nuevo 1.obj)
********** Build failed! **********
Gracias espero que puedan ayudarme.
Bendiciones!
-
Es __delay_ms() con minúscula. Igual podrías aprovechar de comenzar con XC8, sería la versión actual de Hi-tech, más que nada es el compilador de Microchip que agrupa Hitech y C18. Entonces mucho de lo que aprendas con Hitech lo podes implementar en XC8, la diferencia es que utilizarías el compilador que tendrá soporte en un futuro.
Saludos!
-
Gracias, pero por el momento deseo moldear mis inicios en Hi Tech C. Realice el compilado con __delay() en minuscula y me arroja otro codigo.
Error [800] nuevo 1.as; 760. undefined symbol "__delay"
habrá que definirlo?...
Gracias.
-
No es __delay() sino __delay_ms() como bien te comenta Suky
-
No es __delay() sino __delay_ms() como bien te comenta Suky
Mira, lo tengo escrito asi:
__delay_ms(1000);
y
Este es el error
Error [800] nuevo 1.as; 760. undefined symbol "__delay"
El que no entiendo como solucionarlo :/
-
¿Qué versión de compilador estás utilizando?
Yo he utilizado la versión 9.80 y no he tenido problemas con la instrucción __delay_ms()
¿Has probado introduciendo un número menor o igual a 255, como parámetro de la función?
-
Yo he utilizado xc8 y tampoco tuve el problema :undecided:
-
Yo he utilizado xc8 y tampoco tuve el problema :undecided:
Bueno, empeze a descargar el xc8.
Comento en unas horas como me va.
Gracias por el dato.