TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: d4n13l4 en 27 de Septiembre de 2010, 16:37:15
-
Hola
he tenido muchos problemas para compilar archivos y generar el .hex
intente seguir los pasos de este video (http://www.youtube.com/watch?v=dviLoLkEQrk) para encender un led en un 16f877a
pero al compilar me tira 3 errores que no me dejan crear el .hex y seguir avanzando
estos son los errores
Error processing COD file C:\Documents and Settings\Administrador\Escritorio\2do sem\memoria\picc\led\led.COD
Error[173] C:\DOCUMENTS AND SETTINGS\ADMINISTRADOR\ESCRITORIO\2DO SEM\MEMORIA\PICC\LED\LED.ASM 105 : Source file path exceeds 62 characters (C:\DOCUMENTS AND SETTINGS\ADMINISTRADOR\ESCRITORIO\2DO SEM\MEMORIA\PICC\LED\LED.ASM)
Error[173] C:\DOCUMENTS AND SETTINGS\ADMINISTRADOR\ESCRITORIO\2DO SEM\MEMORIA\PICC\LED\LED.ASM 105 : Source file path exceeds 62 characters (C:\DOCUMENTS AND SETTINGS\ADMINISTRADOR\ESCRITORIO\2DO SEM\MEMORIA\PICC\LED\LED.MAC)
alguna ayuda please
que si no me resulta este codigo tengo menos esperanzas de que funcione el de mi proyecto.
-
Holap,
copia el directorio del proyecto en C: y verás como te compila. Cómo dice el error (en perfecto inglés): has excedido el número máximo de caracteres que el compilador puede admitir en la ruta que busca el .ASM.
Saludos.
-
ahi si
gracias
oye aprovecho de preguntarte tengo un codigo para el mismo pic pero que estara conectado a un modulo bluetooth, puedo probar el codigo solo con el pic conectado? porque lo probe todo junto y no me funciono entonces para detectar el problema
este es el codigo
#include <16F877a.h>
#FUSES XT,NOWDT
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=pin_c6, rcv=pin_c7)
///////////////////////Principio del programa//////////////////////////////////
void main(void)
{
int dato=0;//declaracion de variables
set_tris_b(0b11111111);//puerto b como salida
set_tris_c(0b10111111); //RC7/Rx entrada, RC6/Tx salida
output_b(0b00000000); //pone en ceros todo el puerto b
while(TRUE)//Ciclo
{
if(kbhit())//si ha llegado un dato
{
dato=getc(); //Lee el dato recibido
if (dato==1)//si el dato es 1
{
output_high(PIN_B0);
}
if (dato==2)//si el dato es 2
{
output_low(PIN_B0);
}
}
}
}
-
Creo que es mejor que pruebes todo junto: si no el PIC se quedará esperando hasta el día del juicio final algún dato proveniente de la UART jejej ya que no hay nada conectado a dicha UART (has quitado el módulo bluetooth).
¿Tienes algún debugger cómo? ¿ICD2, ICD3?
De todas formas: yo no utilizo CCS pero me parece muy poco código para conectarte a un modulo inalámbrico...
Si dieses más datos es probable que se te pudiese ayudar mejor.
Saludos.
-
Conectalo al puerto serie. Así como se ve el código debería de funcionar.
Saludos!
-
Creo que es mejor que pruebes todo junto: si no el PIC se quedará esperando hasta el día del juicio final algún dato proveniente de la UART jejej ya que no hay nada conectado a dicha UART (has quitado el módulo bluetooth)..
eso es lo que pensaba xD
a que te refieres con debugger? :? :oops:
te cuento mi idea es poder abrir/cerrar una puerta usando el bluetooth del celular, o en su defecto del computador, el modulo lo uso para darle la cualidad de bluetooth al pic para que la persona pueda enviar con el teclado del computador un 1 para abrir y un 2 para cerrar. por eso es tan poco codigo porque no es tan complicada la tarea que hara el pic.
este es el esquema (http://img651.imageshack.us/i/todox.jpg/)
Saludos
-
Envías el carácter 1, o el decimal 1. Son dos cosas distintas. Échale un ojo a codificación ascii.
Saludos!
-
a que te refieres con debugger? :? :oops:
Un debugger o depurador es un software+hardware que te permite ver lo que hace el micro en tiempo real: así podrías saber si lo que envía el bluetooth (en caso de que funcione correctamente) es un 1, un 2 u otro valor...
Saludos