martes, 26 de marzo de 2013

error semántico en eclipse AVR

Cuando se tiene una instalación fresca de eclipse con el plug-in de avr, es posible compilar un programa aunque en la ventana de problemas coloca un error al no identificar los defines de los puertos

Descripción    Información    Ruta    Ubicación    Type
Symbol 'PB3' could not be resolved    main.c    /mo    línea 27    Semantic Error

aunque el programa incluya al archivo io.h

#include 
//#include 
#define F_CPU 1000000UL
#include 

#define clearbit(sfr,bit) _SFR_BYTE(sfr)&=~_BV(bit)
#define setbit(sfr,bit) _SFR_BYTE(sfr)|=_BV(bit)

#define start    PINB0
#define pstart    PINB
#define stop    PINB1
#define pstop    PINB



#include "help.h"



int main(void) {
    //unsigned char flag = hola;
    config();
    while(1)
        {
            if(bit_is_set(pstart,start) && bit_is_set(pstop,stop))
            {
                clearbit(PORTB, PB3);
            }
            else
            {
                setbit(PORTB,PB3);
            }
        }
    return 0;
}
Una forma de resolver este problema es medinte la inclusión del  archivo .h del correspondiente microcontrolador (en este caso el
#include  
que se encuentra comentado).

Otra opción que se lee en el foro http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=902018 es entrar a las propiedades del proyecto y en la opción Target Hardware del menú AVR
seleccionar de nuevo el microcontrolador a utilizar  y posteriormente dar clic derecho sobre el nombre del proyecto.
Una vez ahí seleccionar índices y luego la opción rebuild.