bugAVR C Runtime Library - Bugs: bug #32675, power_all_enable/disable does not...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #32675: power_all_enable/disable does not affect timer1 on ATmega164P

Submitter:  Sergey Belyashov <bsa>
Submitted:  Fri 04 Mar 2011 12:12:09 PM UTC
   
 
Category:  Header Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Header files
Status:  Fixed Assigned to:  arcanum
Percent Complete:  100% Open/Closed:  Closed
Release:  Any Fixed Release:  1.7.2

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?

Sergey Belyashov <bsa>
Fri 04 Mar 2011 04:14:40 PM UTC, comment #1: 

What other devices does this happen?

Eric Weddington <arcanum>
Group administrator
Fri 04 Mar 2011 12:12:09 PM UTC, original submission:  

Currently macros power_all_enable() and power_all_disable() does not enable/disable power for TIMER1 on ATmega164P and some others.

Sergey Belyashov <bsa>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by arcanum (Posted a comment)
  • -email is unavailable- added by bsa (Submitted the item)
  •  

    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2011-05-11 arcanum StatusNone Fixed
        Percent Complete0% 100%
        Assigned toNone arcanum
        Open/ClosedOpen Closed
        Fixed ReleaseNone 1.7.2

    Back to the top

    Powered by Savane 3.13-d3ae.
    Corresponding source code