Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

15/07/2010 #161


MPLAB tarda en Compilar
Hola, tengo un programa para el 12F509 en C; uso el MPLAB
Había estado haciendo el BUILD sin problema, pero de repente (o sea, al agregar algunas líneas de código aquí y allá) empezó a tardarse en compilar; ahora mismo se tarda como 2 minutos o más.

Uso 760 de 1024 de Program Memory
y 16 de 41 de Data Memory

No tengo Warnings

Al final si hace todo bien, pero es molesto porque si tengo que hacer un pequeño cambio, tengo que esperar algunos minutos para ver si hace lo que debe o tengo que modificarlo de nuevo.

A alguien le ha pasado que se tarde mucho en el BUILD??
15/07/2010 #162

Avatar de cerebroo

Respuesta: MPLAB tarda en Compilar
Si, pero no demora tanto... pero se siente un retardo...
Trata de acortae la ruta donde guardas el proyecto...
15/07/2010 #163


Respuesta: MPLAB tarda en Compilar
Justo lo acabo de cambiar (más bien hice otro proyecto nuevo) en un directorio más cerca a la raiz y sigue tardando lo mismo

Le tomé el tiempo y tardó 1 minuto y unos pocos segundos.

Al principio pensé que podía ser alguna rutina mal escrita que, aunque el programa funcione, esté haciendo alguna operación que propicie que tarde en compilar.

Al comienzo del programa tendo un IF. EL IF y el ELSE hacen básicamente lo mismo sólo que uno controla GP0 (IF) y GP1 (ELSE), pero las operaciones son, repito, básicamente iguales. Lo curioso es que si quito la parte del ELSE, o sea, disminuyo el código a la mitad, MPLAB compila bien, sin tardarse.
17/07/2010 #164

Avatar de cerebroo

Respuesta: MPLAB tarda en Compilar
Para que usas el ELSE y el IF....??
Esas instrucciones se usan, para la parte de compilacion, que compile o no...si no me equivoco

Else.. Usado junto con la directiva IF para proporcionar un camino alternativo de ensamblado si al evaluar la condicion es falsa.
Else puede usarse dentro de un bloque de programa o en una macro...

Trata de ver esa parte porque el error esta en esas sentencias..

Saludos.
Cerebro.

Fuente.. Pic 16f84a Ra-Ma
13/09/2010 #165


no puedo compilar un archivo en c en .hex
hola a todos.

soy un poco nuevo en esto de programar. tengo un archivo en c y lo deseo compilar a un .hex y no he podido lo estuve intentando hacer con mplab pero no me dio resultado. es para generar un Multimetro digital

si alguien me pudiera dar la mano le agradecería.
---------------------------
#include<math.h>
#include<avr/io.h>
#include<lcd.h>
#include<stdlib.h>


int main(void)
{
double resultado_Vcd,Vcd,RMS,corriente,corriente_res,resi stencia,resistencia_res;
int muestra, muestra_anterior;
char resul[16];


DDRD=0x00;
DDRA=0xF0;
ADMUX=0xC0;
ADCSRA=1<<ADEN;
lcd_init(LCD_DISP_ON);

while(1)
{
switch (PIND)
{
case (0x00): //con 0x00 se selecciona el voltimetro de CD
{
ADMUX=0xC0;
do{

ADCSRA|=0x40;
while ((ADCSRA & 0x10)==0); //se espera a que termine la conversion
resultado_Vcd=ADCL|(ADCH<<8);
Vcd = resultado_Vcd/53.28;
lcd_gotoxy(0,1);lcd_puts(dtostrf(Vcd,16,4,resul)); break; //manda a escrirbir en el display el resultado de la conversion
}
while(PORTB=0x00);
}
break;
case (0x01): //con 0x01 se selecciona ohmetro
{
ADMUX=0xC1; //se selecciona el canal 3
do{
ADCSRA|=0x40;
while ((ADCSRA & 0x10)==0); //se espera a que termine la conversion
resistencia_res=ADCL|(ADCH<<8);
resistencia=((-resistencia_res)*10000)/(resistencia_res-2000); //determina la resistencia
lcd_gotoxy(0,1);lcd_puts(dtostrf(resistencia,16,4, resul));break;
}

while(PORTB=0x01);
}
break;
case (0x02): //con 0x02 se selecciona amperimetro
{
ADMUX=0xC2; //se selecciona el canal 2
do{
ADCSRA|=0x40;
while ((ADCSRA & 0x10)==0); //se espera a que termine la conversion
corriente_res=ADCL|(ADCH<<8);
corriente=corriente_res/1.9998; //determina la corriente
lcd_gotoxy(0,1);lcd_puts(dtostrf(corriente,16,4,re sul)); break;
}
while(PORTB=0x02);
}
break;

/*case : (0x01) //con 0x01 se selecciona el voltaje RMS
{
ADMUX=0x01; //se selecciona el canal 1
muestra=0;
muestra_anterior=0;
do{
while((!(ADCSRA&(1<<ADIF)) //se espera a que termine la conversion
ADCSRA=(1<<ADIF);
muestra_anterior=muestra;
muestra=(ADCH<<8)+ADCL;//se guarda el resultado
if(muestra<muestra_anterior)
RMS=((muestra/2)/sqrt(2));
lcd_gotoxy(0,1);lcd_puts(dtostrf(RMS,16,4,resul)); break;
}
while(PORTB=0x01);
}
break;*/



}//sierra el swhitch
}//sierra el while(1)
}//sierra el main

--------------------
14/09/2010 #166


Respuesta: no puedo compilar un archivo en c en .hex
Hola FELIPEMEL

No te prometo verlo yà, porque es un poco tarde, pero si mañana lo pruebo y te paso las novedades.

De todos modos, primero debes convertir el archivo a .asm (ensamblador), recien ahì lo podes compilar como hexadecimal (.hex) en MPLAB.

te recomiendo el prog MPASMWIN que se incluye em MPLAB

Mañana lo veo y te cuento. OK?
14/09/2010 #167


Respuesta: no puedo compilar un archivo en c en .hex
Hola felipemel, recien puedo ponerme a ver lo tuyo, disculpa la demora, es que me surgieron unos trabajos no programados en la universidad que bebí atender.
Ahora sigo con lo tuyo... Gracias por el aguante.
14/09/2010 #168


Respuesta: no puedo compilar un archivo en c en .hex
hola moverar gracias por tu preocupación

moverar dijo: Ver Mensaje
Hola felipemel, recien puedo ponerme a ver lo tuyo, disculpa la demora, es que me surgieron unos trabajos no programados en la universidad que bebí atender.
Ahora sigo con lo tuyo... Gracias por el aguante.
moverar gracias por tu precupacion
14/09/2010 #169

Avatar de sammaael

Respuesta: no puedo compilar un archivo en c en .hex
no te faltaria incluir el microcontrolador que usas, es decir añadir la directiva

#include<16f873.h> por ejempplo?????????
14/09/2010 #170


Respuesta: no puedo compilar un archivo en c en .hex
Pregunta ------> ¿ qué compilador y versión estas usando?

Mientras, si te parece bien, lee el texto de este enlace, creo que puede ayudarte...

http://atc.ugr.es/docencia/udigital/13.html

Te comento que hace unos años no programo en C y me cuesta retomar, pero esta bueno el desafío.

Actualmente programo con el Niple v5.2 que me arroja un programa *.asm, lo guardo en el HDD (no en carpeta o directorio) y de ahí lo paso a *.hex en el MPASMWIN (de MPLAB) y ya està.

Para grabarlo en el pic uso el ICProg con un grabador JDM.

Puede que te sirvan estos datos, sigo viendo lo tuyo...

sammaael dijo: Ver Mensaje
no te faltaria incluir el microcontrolador que usas, es decir añadir la directiva

#include<16f873.h> por ejempplo?????????
Yo también observo ese detalle, Sammaael, pero no estoy seguro que el MPLAB lo acepte directamente en C, vos que experiencia tenes al respecto?

lo que pasa y como dije antes, hace un tiempo que no programo en c...
Vos dirás, y para que cuernos responde? Bueno, me tenté para reflotar los conocimientos... Perdón si entorpezco...
14/09/2010 #171


Respuesta: no puedo compilar un archivo en c en .hex
moverar dijo: Ver Mensaje
Pregunta ------> ¿ qué compilador y versión estas usando?

Mientras, si te parece bien, lee el texto de este enlace, creo que puede ayudarte...

http://atc.ugr.es/docencia/udigital/13.html

Te comento que hace unos años no programo en C y me cuesta retomar, pero esta bueno el desafío.

Actualmente programo con el Niple v5.2 que me arroja un programa *.asm, lo guardo en el HDD (no en carpeta o directorio) y de ahí lo paso a *.hex en el MPASMWIN (de MPLAB) y ya està.

Para grabarlo en el pic uso el ICProg con un grabador JDM.

Puede que te sirvan estos datos, sigo viendo lo tuyo...



Yo también observo ese detalle, Sammaael, pero no estoy seguro que el MPLAB lo acepte directamente en C, vos que experiencia tenes al respecto?

lo que pasa y como dije antes, hace un tiempo que no programo en c...
Vos dirás, y para que cuernos responde? Bueno, me tenté para reflotar los conocimientos... Perdón si entorpezco...
bueno les comento el micro controlador es unATMEL MEGA 32 pero dicho controlador no lo encuentro en mplab, ahora para estoy intentando con pic c compiler me parece un muy buen compilador, pero al querer compilar me genera un error, lo adjunto
http://es.zimagez.com/zimage/mult.php

ahora estuve mirando la info muy buena voy a seguir mirando
14/09/2010 #172

Avatar de ByAxel

Respuesta: no puedo compilar un archivo en c en .hex
felipemel dijo: Ver Mensaje
bueno les comento el micro controlador es unATMEL MEGA 32 pero dicho controlador no lo encuentro en mplab, ahora para estoy intentando con pic c compiler me parece un muy buen compilador, pero al querer compilar me genera un error, lo adjunto
http://es.zimagez.com/zimage/mult.php

ahora estuve mirando la info muy buena voy a seguir mirando
Buenas, perdón pero estaba viendo el tema; felipemel el MPLAB solo es de la empresa Microchip que solo es para sus microcontroladores llamados PIC y no tiene nada que ver los los AVR de Atmel que es otra empresa.
De la imagen te pide que declares el microcontrolador que estás usando pero también aclaro que el PCW C Compiler IDE solo el para microcontroladores PIC y no los AVR de atmel... para programar los Atmel necesitas el WinAVR AVR-GCC por ejemplo pero hay más, consulta en el foro.

Un saludo
14/09/2010 #173


Respuesta: no puedo compilar un archivo en c en .hex
ByAxel dijo: Ver Mensaje
Buenas, perdón pero estaba viendo el tema; felipemel el MPLAB solo es de la empresa Microchip que solo es para sus microcontroladores llamados PIC y no tiene nada que ver los los AVR de Atmel que es otra empresa.
De la imagen te pide que declares el microcontrolador que estás usando pero también aclaro que el PCW C Compiler IDE solo el para microcontroladores PIC y no los AVR de atmel... para programar los Atmel necesitas el WinAVR AVR-GCC por ejemplo pero hay más, consulta en el foro.

Un saludo
ByAxe gracias por tu respuesta voy a intentar lo que tu dices

felipemel dijo: Ver Mensaje
ByAxe gracias por tu respuesta voy a intentar lo que tu dices
ByAxel mira hace poco me dejaste un comen en el foro y bue.. lo intente compilar con avr studio pero me da error, no se si sera muy confianzudo de mi parte pedirte que me lo revises igual intento generar un .hex y no puedo tu me dirás

gracias de ante mano
12/10/2010 #174


problema al crear un programa en mplab
miren les expliko, al crear un programa cn el mplab ( he provado versiones distintas) me arroja el mismo error, ya realmente no se que hacer.

inicio el programa (mplab v8.56)

abro el proyect wizard
selecciono el 16f84a

asigno direccion al mcp y gravo el mcw, pero a la hora de grabar el *.asm me lanza este error



y no puedo empezar a programar en mi pc

chicos x favor es de caracter urgente si es que alguien conoce el porque y obviamente si alguien tiene una solucion lo agradeceria eternamente


gracias
12/10/2010 #175

Avatar de jairosaw

Respuesta: problema al crear un programa ayudenme x favor!!!!
olap intenta de esta forma si lo que quieres es solo generar el .hex para cargarlo a tu pic:

1: Abre el Mplab Ide 8.56v que posees.
2: FILE > new te abre una ventana sin titulo (untitled),
3: Escribe tu codigo del programa en asm en este espacio.
4: Cuando termines ve FILE > Save as donde dice Nombre: escribele el nombre de tuproyecto; prueba.asm, le escribes el .asm seguido.
5: Ve a PROJECT > y click en Quickbuild (prueba.asm).
6: Listo si tu programa no tiene errores te compila bien
saludos
12/10/2010 #176


Respuesta: problema al crear un programa ayudenme x favor!!!!
lo acabo de intentar y me lanza el mismo error a la hora de guardar el "prueba.asm"


bueno = gracias de todas maneras
12/10/2010 #177

Avatar de jairosaw

Respuesta: problema al crear un programa ayudenme x favor!!!!
Cuando instalaste el Mplab lo instalaste con todos sus complementos, ya que no deberia aparecerte ese error, ahora del ejemplo anterior se me olvido decirte que antes de compilar selecionaras el micro a usar :

CONFIGURE > SELECT DEVICE
13/10/2010 #178


Respuesta: problema al crear un programa en mplab
compadre ya lo solucione, el problema era la direccion raiz donde guardaba el archuvo *.asm, ya que por ser un windows modificado tiene ese cacracter en el nombre si te fijas, ese Black Crystal TM, ese caracter tm no es reconocido y ese era la abse del error asi k cree una carpeta base en c: y chan!! se acabo el fkn problema.

asi k si a alguno le pasa esto note q tenga cuidado cn el nombre d la direccionx q esos caracteres son para puro pelutudearte un rato
18/10/2010 #179


Respuesta: programas creados con ccs y mplab
hola a todos, he comenzao a usar el mplab, ya he echo algunos proyectos en ensamblador, pero no he podido simular ningun proyecto en lenguaje c, sabe alguno de ustedes si se puede simular lenguaje c en mplab
gracias
20/10/2010 #180


Respuesta: programas creados con ccs y mplab
tienes instalado compilador en C en el MPLAB?
de no tenerlo tienes que instalarte uno,ccs por ejemplo
si lo tienes proyect/select language toolsuite y lo seleccionas.
pasate por Compilador CCS
Saludos
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.