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

 
 

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

Submitted by:  Sergey Belyashov <bsa>
Submitted on:  Fri 04 Mar 2011 12:12:09 PM UTC  
 
Category: HeaderSeverity: 3 - Normal
Priority: 5 - NormalItem Group: Header files
Status: FixedPercent Complete: 100%
Assigned to: Eric Weddington <arcanum>Open/Closed: Closed
Release: AnyFixed Release: 1.7.2

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

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>
Project AdministratorIn charge of this item.
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.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

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

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 5 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Wed 11 May 2011 05:35:26 PM UTCarcanumStatusNone=>Fixed
      Percent Complete0%=>100%
      Assigned toNone=>arcanum
      Open/ClosedOpen=>Closed
      Fixed ReleaseNone=>1.7.2

    Back to the top


    Powered by Savane 3.1-cleanup1