Paranthese Error in eagle_soc.h

kaktus2
Posts: 1
Joined: Mon Jul 13, 2015 10:00 am

Paranthese Error in eagle_soc.h

Postby kaktus2 » Mon Jul 13, 2015 10:10 am

There is an parantheses error with "&" and "|" in function PIN_FUNC_SELECT

Code: Select all

#define PIN_FUNC_SELECT(PIN_NAME, FUNC)  do { \
    WRITE_PERI_REG(PIN_NAME,   \
                                READ_PERI_REG(PIN_NAME) \
                                     &  (~(PERIPHS_IO_MUX_FUNC<<PERIPHS_IO_MUX_FUNC_S))  \
                                     |( (((FUNC&BIT2)<<2)|(FUNC&0x3))<<PERIPHS_IO_MUX_FUNC_S) );  \
    } while (0)


just added brackets to solve the problem:

Code: Select all

#define PIN_FUNC_SELECT(PIN_NAME, FUNC)  do { \
    WRITE_PERI_REG(PIN_NAME,   \
                                ( READ_PERI_REG(PIN_NAME) \
                                     &  (~(PERIPHS_IO_MUX_FUNC<<PERIPHS_IO_MUX_FUNC_S)) ) \
                                     |( (((FUNC&BIT2)<<2)|(FUNC&0x3))<<PERIPHS_IO_MUX_FUNC_S) );  \
    } while (0)

Who is online

Users browsing this forum: No registered users and 2 guests