Autor
|
Tema: Problema al incluir una librería en code blocks (Leído 3,351 veces)
|
jose_j
Desconectado
Mensajes: 5
|
Hola gente, soy nuevo en el foro , espero que me puedan ayudar,ahh también soy nuevo en la programación , el tema es que estoy programando los micros atmel el atmega328p lo hago el Linux con code blocks, para el tema de entradas y salida se incluye la librería io, include <avr/io.h>, ahora necesito incluir la librería para la comunicación serial la cual es include<avr/iom328p.h>, pero me da error al compilar, me sale una pestaña de iom328p.h marcando el error que dice # error "include <avr/io.h> instead of this file", y en un comentario (que está en esa pestaña que se abrió) dice : this file should only be included from <avr/io.h>, never directly. O sea dice que este archivo sólo debe incluirse desde <avr/io.h>, nunca directamente. Ese es el problema, como lo incluyo desde avr/io.h? Gracias y Saludos.
|
|
|
En línea
|
|
|
|
Gallu
Desconectado
Mensajes: 247
|
Tiene pinta de que las dependencias se están pegando de ostias, si te fijas el mensaje parece claro /* This file should only be included from <avr/io.h>, never directly. */
Es posible que tal y como indica el mensaje, si incluyes io.h ya puedas acceder a las funciones de iom328p.h ?? Desde luego, si revisas el fuente de io.h te encuentras algo como esto: #elif defined (__AVR_ATmega328P__) || defined (__AVR_ATmega328__) #include <avr/iom328p.h> #elif defined (__AVR_ATmega329__) || defined (__AVR_ATmega329A__)
Espero que te sirva. Saludos
|
|
|
En línea
|
Nadie alcanza la meta con un solo intento, ni perfecciona la vida con una sola rectificación, ni alcanza altura con un solo vuelo.
|
|
|
jose_j
Desconectado
Mensajes: 5
|
Tiene pinta de que las dependencias se están pegando de ostias, si te fijas el mensaje parece claro /* This file should only be included from <avr/io.h>, never directly. */
Es posible que tal y como indica el mensaje, si incluyes io.h ya puedas acceder a las funciones de iom328p.h ?? Desde luego, si revisas el fuente de io.h te encuentras algo como esto: #elif defined (__AVR_ATmega328P__) || defined (__AVR_ATmega328__) #include <avr/iom328p.h> #elif defined (__AVR_ATmega329__) || defined (__AVR_ATmega329A__)
Espero que te sirva. Saludos gracias por tu respuesta, y vi la fuente de io.h y si, esta lo que decis, pero al incluir solo la io.h no puedo usar los registro de la comunicación serial, cuando incluyo el include<avr/iom328p.h> , el code blocks me va completando los nombres de los registros, o sea me da nombre de los registro que puedo usar,cosa que si uso solo el io.h me da error, no se si me explico bien, un ejemplo para usar el regitro UCSR0A con io.h me da error, pero si le agrego include<avr/iom328p.h> me reconoce ese registro.
|
|
|
En línea
|
|
|
|
Gallu
Desconectado
Mensajes: 247
|
Pues no se estará incluyendo por la condición elif. Echando un ojo por encima, veo que para que se cumpla esa condición y se incluya la librería iom328p al incluir io.h, es posible que tengas que añadir alguna directiva al compilador, no estoy seguro de esto eso si, te doy una idea para que lo investigues. échale un ojo a esto http://www.atmel.com/webdoc/avrlibcreferencemanual/using_tools_1using_avr_gcc_mach_opt.htmlPor curiosidad, qué estás programando ? Saludos
|
|
« Última modificación: 28 Diciembre 2017, 21:17 pm por Gallu »
|
En línea
|
Nadie alcanza la meta con un solo intento, ni perfecciona la vida con una sola rectificación, ni alcanza altura con un solo vuelo.
|
|
|
MAFUS
Desconectado
Mensajes: 1.603
|
Incluye el define para el uP que estás usando antes de la librería: #define __AVR_ATmega328P__ #include <avr/io.h> Aunque también puedes hacerlo desde la línea de comandos. Mira la documentación de tu compilador.
|
|
|
En línea
|
|
|
|
jose_j
Desconectado
Mensajes: 5
|
gracias por sus respuestas, voy a intentar programarlo con eclipse, no le pude hacer andar con code blocks , lo que estoy queriendo hacer es poder comunicar el micro con el puerto usb, por ahora solo eso, ya que lo veo lejos no pense para que jajaja vamos a ver que sale. gracias nuevamente por sus respuestas. saludos!!!
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[AYUDA] Problema con el Code::Blocks
Programación C/C++
|
Zodiak98
|
5
|
3,590
|
28 Junio 2013, 00:47 am
por dato000
|
|
|
Imposible linkar librería externa en Code::Blocks
Programación C/C++
|
Scate
|
4
|
2,033
|
5 Febrero 2015, 01:02 am
por Scate
|
|
|
Problema compilacion Code Blocks
Programación C/C++
|
10delin
|
3
|
2,506
|
20 Enero 2016, 15:09 pm
por MAFUS
|
|
|
problema con code blocks
Programación C/C++
|
alejandroluna97
|
1
|
3,045
|
6 Octubre 2016, 16:07 pm
por ivancea96
|
|
|
problema al usar gtk en Code::Blocks
Programación C/C++
|
falala
|
1
|
1,871
|
17 Abril 2017, 17:27 pm
por falala
|
|