Sat 05 Mar 2011 07:58:04 AM UTC, comment #2:
I think all in same #if/endif block:
#elif defined(_AVR_ATmega164A_) \
|| defined(_AVR_ATmega164P_) \
|| defined(_AVR_ATmega324A_) \
|| defined(_AVR_ATmega324P_) \
|| defined(_AVR_ATmega324PA_) \
|| defined(_AVR_ATmega644P_) \
|| defined(_AVR_ATmega644A_) \
|| defined(_AVR_ATmega644PA_)
#define power_adc_enable() (PRR0 &= (uint8_t)~(1 << PRADC))
#define power_adc_disable() (PRR0 |= (uint8_t)(1 << PRADC))
#define power_spi_enable() (PRR0 &= (uint8_t)~(1 << PRSPI))
#define power_spi_disable() (PRR0 |= (uint8_t)(1 << PRSPI))
#define power_usart0_enable() (PRR0 &= (uint8_t)~(1 << PRUSART0))
#define power_usart0_disable() (PRR0 |= (uint8_t)(1 << PRUSART0))
#define power_usart1_enable() (PRR0 &= (uint8_t)~(1 << PRUSART1))
#define power_usart1_disable() (PRR0 |= (uint8_t)(1 << PRUSART1))
#define power_timer0_enable() (PRR0 &= (uint8_t)~(1 << PRTIM0))
#define power_timer0_disable() (PRR0 |= (uint8_t)(1 << PRTIM0))
#define power_timer1_enable() (PRR0 &= (uint8_t)~(1 << PRTIM1))
#define power_timer1_disable() (PRR0 |= (uint8_t)(1 << PRTIM1))
#define power_timer2_enable() (PRR0 &= (uint8_t)~(1 << PRTIM2))
#define power_timer2_disable() (PRR0 |= (uint8_t)(1 << PRTIM2))
#define power_twi_enable() (PRR0 &= (uint8_t)~(1 << PRTWI))
#define power_twi_disable() (PRR0 |= (uint8_t)(1 << PRTWI))
#define power_all_enable() (PRR0 &= (uint8_t)~((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART0)|(1<<PRUSART1)|(1<<PRTIM0)|(1<<PRTIM2)|(1<<PRTWI)))
#define power_all_disable() (PRR0 |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART0)|(1<<PRUSART1)|(1<<PRTIM0)|(1<<PRTIM2)|(1<<PRTWI)))
#elif defined(_AVR_ATmega644_)
May be better to replace it by PRR0 = 0x00 and PRR0 = 0xff?
|