Autor Tema: loco con esto UNDEFINED REFERENCE TO USART_INIT  (Leído 5036 veces)

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

Desconectado diegostreetbob

  • PIC12
  • **
  • Mensajes: 51
loco con esto UNDEFINED REFERENCE TO USART_INIT
« en: 13 de Agosto de 2012, 18:56:03 »
Hola a todos,
ando loco con este error que no encuentro como evitar que aparezca, he añadido las librerias como siempre hago, por ejemplo con la de lcd, uso atmel studio 6.

Alguien tiene idea de que puede ser??????

Este es el código, para un atmega1284P

#include "avr_compiler.h"
#include "usart.h"
#include "lcd.h"
#include "i2c.h"
int main(void)
{
   char name[20];
   usart_init();            // Inicializar USART0 @ 9600-8N1,                    SI NO LLAMO ESTE FUNCION NO DA ERROR
   puts("\n\r www.cursomicros.com ");
   puts("\n\r =================== \n\r");
   puts("\n\r - ¿Cuál es tu nombre?... \n\r - ");
   scanf("%s", name);
   printf(" - Gusto en conocerte, %s", name);
   while(1);
}

Tambien adjunto las librerias,

A ver si hay suerte porque estoy agotado con el mensajito de error  :5]

Desconectado cicloide2

  • PIC18
  • ****
  • Mensajes: 359
Re: loco con esto UNDEFINED REFERENCE TO USART_INIT
« Respuesta #1 en: 13 de Agosto de 2012, 21:30:56 »
Hola, mira uno de los que puede ayudarte con ATMEL, puede se Felixls y si no de seguro algun avanzado te dara una mano.

Saludos , y no os desanimeis. ;-) 

Desconectado stk500

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4923
Re: loco con esto UNDEFINED REFERENCE TO USART_INIT
« Respuesta #2 en: 13 de Agosto de 2012, 23:39:56 »
si pusiera una pantalla del error que te tira, se podria ayudar, aunque creo que no ha definido bien la Uart
Saludos

Desconectado Lucho08

  • PIC10
  • *
  • Mensajes: 24
Re: loco con esto UNDEFINED REFERENCE TO USART_INIT
« Respuesta #3 en: 14 de Agosto de 2012, 00:29:58 »
No uso AVR Studio, pero revisando el programa y la libreria, me parece que falta definir F_CPU que es la frecuencia del Cristal
del micro.
Definelo asi:

#ifndef F_CPU
#define F_CPU  12000000UL
#endif

esto es para el caso de un cristal de 12MHz, si es diferente, lo cambias.

Estas mezclando puts(); que parece ser una funcion del manejo del LCD, con scanf() y printf() que si maneja datos por el usart;
de acuerdo a la libreria

Una vez que te compile, me parece que no va a funcionar tal como quieres tu.
el bucle infinito while(1) no esta bien puesto.

Donde deberias hacer un bucle de espera es en scanf(%s, name)

saludos



Desconectado diegostreetbob

  • PIC12
  • **
  • Mensajes: 51
Re: loco con esto UNDEFINED REFERENCE TO USART_INIT
« Respuesta #4 en: 14 de Agosto de 2012, 01:43:41 »
Hola,
gracias por las respuestas, os respondo.

La frecuencia la suelo definir en opciones de proyecto con F_CPU=8000000UL, asi tengo varios ejemplos funcionando.

Por otro lado esto es un ejemplo de cursomicros, fantastica web por otro lado, la verdad es que he dado por hecho que el programa y librerias adjuntas estan bien, pero como comenta lucho08 parece que no esta bien.

Alguien tiene algun ejemplo basico con librerias para ver si este el problema¿?

Saludos


Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: loco con esto UNDEFINED REFERENCE TO USART_INIT
« Respuesta #5 en: 14 de Agosto de 2012, 12:46:56 »
Hola, deberías pegar el error exactamente como te lo muestra el compilador. Aparentemente el linker no encuentra la función usart_init. La tenes definida en el módulo usart.c, que no es una librería, deberías agregarla al proyecto para que la compile como otro fuente más. Las librerías tiene otras extensiones dependiento del compilador ( *.lib, *.a, etc )

Saludos !

Desconectado diegostreetbob

  • PIC12
  • **
  • Mensajes: 51
Re: loco con esto UNDEFINED REFERENCE TO USART_INIT
« Respuesta #6 en: 14 de Agosto de 2012, 17:33:45 »
Hola,
he cambiado la libreria y ahora no da el error, conntinuo con las pruebas.

Como siempre vuestra ayuda es muy apreciada por mi  :)

Saludos, os mantendre informados

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: loco con esto UNDEFINED REFERENCE TO USART_INIT
« Respuesta #7 en: 14 de Agosto de 2012, 17:36:10 »
ok, suerte.

Saludos !

Desconectado cicloide2

  • PIC18
  • ****
  • Mensajes: 359
Re: loco con esto UNDEFINED REFERENCE TO USART_INIT
« Respuesta #8 en: 14 de Agosto de 2012, 21:06:50 »
Te lo dije hay muchos craneos dando vuelta, muchos craneos, con mucha paciencia y amabilidad.

Exitos! ;-) :-) ;-)

Desconectado johnm

  • PIC10
  • *
  • Mensajes: 1
Re: loco con esto UNDEFINED REFERENCE TO USART_INIT
« Respuesta #9 en: 24 de Enero de 2013, 00:53:29 »
pero como has corregido la libreria? para que los demas puedan ver incluyendome, que tengo el mismo problema con USART y esas librerias de cursosmicros

Desconectado diegostreetbob

  • PIC12
  • **
  • Mensajes: 51
Re: loco con esto UNDEFINED REFERENCE TO USART_INIT
« Respuesta #10 en: 24 de Enero de 2013, 11:40:32 »
Hola,
estos días ando de viaje y no tengo el ordenador de casa a la mano, pero creo recordar que cambiando de linea el #include "usart.h" se soluciono, es decir ahora esta en la segunda linea, prueba a pasarla a la tercera o cuarta.

Si ves que no te funciona contesta y cuando vuelva te lo miro.


Saludos


 

anything