57 #define _AVR_POWER_H_ 1 72 #if defined(__AVR_ATxmega16A4__) \ 73 || defined(__AVR_ATxmega16D4__) \ 74 || defined(__AVR_ATxmega32A4__) \ 75 || defined(__AVR_ATxmega32D4__) \ 76 || defined(__AVR_ATxmega64A1__) \ 77 || defined(__AVR_ATxmega64A3__) \ 78 || defined(__AVR_ATxmega64D3__) \ 79 || defined(__AVR_ATxmega128A1__) \ 80 || defined(__AVR_ATxmega128A3__) \ 81 || defined(__AVR_ATxmega128D3__) \ 82 || defined(__AVR_ATxmega192A3__) \ 83 || defined(__AVR_ATxmega192D3__) \ 84 || defined(__AVR_ATxmega256D3__) \ 85 || defined(__AVR_ATxmega256A3__) \ 86 || defined(__AVR_ATxmega256A3B__) 93 #define power_ebi_enable() (PR_PR &= (uint8_t)~(PR_EBI_bm)) 94 #define power_ebi_disable() (PR_PR |= (uint8_t)PR_EBI_bm) 96 #define power_rtc_enable() (PR_PR &= (uint8_t)~(PR_RTC_bm)) 97 #define power_rtc_disable() (PR_PR |= (uint8_t)PR_RTC_bm) 99 #define power_evsys_enable() (PR_PR &= (uint8_t)~(PR_EVSYS_bm)) 100 #define power_evsys_disable() (PR_PR |= (uint8_t)PR_EVSYS_bm) 102 #define power_dma_enable() (PR_PR &= (uint8_t)~(PR_DMA_bm)) 103 #define power_dma_disable() (PR_PR |= (uint8_t)PR_DMA_bm) 105 #define power_daca_enable() (PR_PRPA &= (uint8_t)~(PR_DAC_bm)) 106 #define power_daca_disable() (PR_PRPA |= (uint8_t)PR_DAC_bm) 107 #define power_dacb_enable() (PR_PRPB &= (uint8_t)~(PR_DAC_bm)) 108 #define power_dacb_disable() (PR_PRPB |= (uint8_t)PR_DAC_bm) 110 #define power_adca_enable() (PR_PRPA &= (uint8_t)~(PR_ADC_bm)) 111 #define power_adca_disable() (PR_PRPA |= (uint8_t)PR_ADC_bm) 112 #define power_adcb_enable() (PR_PRPB &= (uint8_t)~(PR_ADC_bm)) 113 #define power_adcb_disable() (PR_PRPB |= (uint8_t)PR_ADC_bm) 115 #define power_aca_enable() (PR_PRPA &= (uint8_t)~(PR_AC_bm)) 116 #define power_aca_disable() (PR_PRPA |= (uint8_t)PR_AC_bm) 117 #define power_acb_enable() (PR_PRPB &= (uint8_t)~(PR_AC_bm)) 118 #define power_acb_disable() (PR_PRPB |= (uint8_t)PR_AC_bm) 120 #define power_twic_enable() (PR_PRPC &= (uint8_t)~(PR_TWI_bm)) 121 #define power_twic_disable() (PR_PRPC |= (uint8_t)PR_TWI_bm) 122 #define power_twid_enable() (PR_PRPD &= (uint8_t)~(PR_TWI_bm)) 123 #define power_twid_disable() (PR_PRPD |= (uint8_t)PR_TWI_bm) 124 #define power_twie_enable() (PR_PRPE &= (uint8_t)~(PR_TWI_bm)) 125 #define power_twie_disable() (PR_PRPE |= (uint8_t)PR_TWI_bm) 126 #define power_twif_enable() (PR_PRPF &= (uint8_t)~(PR_TWI_bm)) 127 #define power_twif_disable() (PR_PRPF |= (uint8_t)PR_TWI_bm) 129 #define power_usartc1_enable() (PR_PRPC &= (uint8_t)~(PR_USART1_bm)) 130 #define power_usartc1_disable() (PR_PRPC |= (uint8_t)PR_USART1_bm) 131 #define power_usartd1_enable() (PR_PRPD &= (uint8_t)~(PR_USART1_bm)) 132 #define power_usartd1_disable() (PR_PRPD |= (uint8_t)PR_USART1_bm) 133 #define power_usarte1_enable() (PR_PRPE &= (uint8_t)~(PR_USART1_bm)) 134 #define power_usarte1_disable() (PR_PRPE |= (uint8_t)PR_USART1_bm) 135 #define power_usartf1_enable() (PR_PRPF &= (uint8_t)~(PR_USART1_bm)) 136 #define power_usartf1_disable() (PR_PRPF |= (uint8_t)PR_USART1_bm) 138 #define power_usartc0_enable() (PR_PRPC &= (uint8_t)~(PR_USART0_bm)) 139 #define power_usartc0_disable() (PR_PRPC |= (uint8_t)PR_USART0_bm) 140 #define power_usartd0_enable() (PR_PRPD &= (uint8_t)~(PR_USART0_bm)) 141 #define power_usartd0_disable() (PR_PRPD |= (uint8_t)PR_USART0_bm) 142 #define power_usarte0_enable() (PR_PRPE &= (uint8_t)~(PR_USART0_bm)) 143 #define power_usarte0_disable() (PR_PRPE |= (uint8_t)PR_USART0_bm) 144 #define power_usartf0_enable() (PR_PRPF &= (uint8_t)~(PR_USART0_bm)) 145 #define power_usartf0_disable() (PR_PRPF |= (uint8_t)PR_USART0_bm) 147 #define power_spic_enable() (PR_PRPC &= (uint8_t)~(PR_SPI_bm)) 148 #define power_spic_disable() (PR_PRPC |= (uint8_t)PR_SPI_bm) 149 #define power_spid_enable() (PR_PRPD &= (uint8_t)~(PR_SPI_bm)) 150 #define power_spid_disable() (PR_PRPD |= (uint8_t)PR_SPI_bm) 151 #define power_spie_enable() (PR_PRPE &= (uint8_t)~(PR_SPI_bm)) 152 #define power_spie_disable() (PR_PRPE |= (uint8_t)PR_SPI_bm) 153 #define power_spif_enable() (PR_PRPF &= (uint8_t)~(PR_SPI_bm)) 154 #define power_spif_disable() (PR_PRPF |= (uint8_t)PR_SPI_bm) 156 #define power_hiresc_enable() (PR_PRPC &= (uint8_t)~(PR_HIRES_bm)) 157 #define power_hiresc_disable() (PR_PRPC |= (uint8_t)PR_HIRES_bm) 158 #define power_hiresd_enable() (PR_PRPD &= (uint8_t)~(PR_HIRES_bm)) 159 #define power_hiresd_disable() (PR_PRPD |= (uint8_t)PR_HIRES_bm) 160 #define power_hirese_enable() (PR_PRPE &= (uint8_t)~(PR_HIRES_bm)) 161 #define power_hirese_disable() (PR_PRPE |= (uint8_t)PR_HIRES_bm) 162 #define power_hiresf_enable() (PR_PRPF &= (uint8_t)~(PR_HIRES_bm)) 163 #define power_hiresf_disable() (PR_PRPF |= (uint8_t)PR_HIRES_bm) 165 #define power_tc1c_enable() (PR_PRPC &= (uint8_t)~(PR_TC1_bm)) 166 #define power_tc1c_disable() (PR_PRPC |= (uint8_t)PR_TC1_bm) 167 #define power_tc1d_enable() (PR_PRPD &= (uint8_t)~(PR_TC1_bm)) 168 #define power_tc1d_disable() (PR_PRPD |= (uint8_t)PR_TC1_bm) 169 #define power_tc1e_enable() (PR_PRPE &= (uint8_t)~(PR_TC1_bm)) 170 #define power_tc1e_disable() (PR_PRPE |= (uint8_t)PR_TC1_bm) 171 #define power_tc1f_enable() (PR_PRPF &= (uint8_t)~(PR_TC1_bm)) 172 #define power_tc1f_disable() (PR_PRPF |= (uint8_t)PR_TC1_bm) 174 #define power_tc0c_enable() (PR_PRPC &= (uint8_t)~(PR_TC0_bm)) 175 #define power_tc0c_disable() (PR_PRPC |= (uint8_t)PR_TC0_bm) 176 #define power_tc0d_enable() (PR_PRPD &= (uint8_t)~(PR_TC0_bm)) 177 #define power_tc0d_disable() (PR_PRPD |= (uint8_t)PR_TC0_bm) 178 #define power_tc0e_enable() (PR_PRPE &= (uint8_t)~(PR_TC0_bm)) 179 #define power_tc0e_disable() (PR_PRPE |= (uint8_t)PR_TC0_bm) 180 #define power_tc0f_enable() (PR_PRPF &= (uint8_t)~(PR_TC0_bm)) 181 #define power_tc0f_disable() (PR_PRPF |= (uint8_t)PR_TC0_bm) 183 #define power_all_enable() \ 186 PR_PR &= (uint8_t)~(PR_EBI_bm|PR_RTC_bm|PR_EVSYS_bm|PR_DMA_bm); \ 187 PR_PRPA &= (uint8_t)~(PR_DAC_bm|PR_ADC_bm|PR_AC_bm); \ 188 PR_PRPB &= (uint8_t)~(PR_DAC_bm|PR_ADC_bm|PR_AC_bm); \ 189 PR_PRPC &= (uint8_t)~(PR_TWI_bm|PR_USART1_bm|PR_USART0_bm|PR_SPI_bm|PR_HIRES_bm|PR_TC1_bm|PR_TC0_bm); \ 190 PR_PRPD &= (uint8_t)~(PR_TWI_bm|PR_USART1_bm|PR_USART0_bm|PR_SPI_bm|PR_HIRES_bm|PR_TC1_bm|PR_TC0_bm); \ 191 PR_PRPE &= (uint8_t)~(PR_TWI_bm|PR_USART1_bm|PR_USART0_bm|PR_SPI_bm|PR_HIRES_bm|PR_TC1_bm|PR_TC0_bm); \ 192 PR_PRPF &= (uint8_t)~(PR_TWI_bm|PR_USART1_bm|PR_USART0_bm|PR_SPI_bm|PR_HIRES_bm|PR_TC1_bm|PR_TC0_bm); \ 196 #define power_all_disable() \ 199 PR_PR |= (uint8_t)(PR_EBI_bm|PR_RTC_bm|PR_EVSYS_bm|PR_DMA_bm); \ 200 PR_PRPA |= (uint8_t)(PR_DAC_bm|PR_ADC_bm|PR_AC_bm); \ 201 PR_PRPB |= (uint8_t)(PR_DAC_bm|PR_ADC_bm|PR_AC_bm); \ 202 PR_PRPC |= (uint8_t)(PR_TWI_bm|PR_USART1_bm|PR_USART0_bm|PR_SPI_bm|PR_HIRES_bm|PR_TC1_bm|PR_TC0_bm); \ 203 PR_PRPD |= (uint8_t)(PR_TWI_bm|PR_USART1_bm|PR_USART0_bm|PR_SPI_bm|PR_HIRES_bm|PR_TC1_bm|PR_TC0_bm); \ 204 PR_PRPE |= (uint8_t)(PR_TWI_bm|PR_USART1_bm|PR_USART0_bm|PR_SPI_bm|PR_HIRES_bm|PR_TC1_bm|PR_TC0_bm); \ 205 PR_PRPF |= (uint8_t)(PR_TWI_bm|PR_USART1_bm|PR_USART0_bm|PR_SPI_bm|PR_HIRES_bm|PR_TC1_bm|PR_TC0_bm); \ 209 #elif defined(__AVR_ATmega640__) \ 210 || defined(__AVR_ATmega1280__) \ 211 || defined(__AVR_ATmega1281__) \ 212 || defined(__AVR_ATmega2560__) \ 213 || defined(__AVR_ATmega2561__) 215 #define power_adc_enable() (PRR0 &= (uint8_t)~(1 << PRADC)) 216 #define power_adc_disable() (PRR0 |= (uint8_t)(1 << PRADC)) 218 #define power_spi_enable() (PRR0 &= (uint8_t)~(1 << PRSPI)) 219 #define power_spi_disable() (PRR0 |= (uint8_t)(1 << PRSPI)) 221 #define power_twi_enable() (PRR0 &= (uint8_t)~(1 << PRTWI)) 222 #define power_twi_disable() (PRR0 |= (uint8_t)(1 << PRTWI)) 224 #define power_timer0_enable() (PRR0 &= (uint8_t)~(1 << PRTIM0)) 225 #define power_timer0_disable() (PRR0 |= (uint8_t)(1 << PRTIM0)) 227 #define power_timer1_enable() (PRR0 &= (uint8_t)~(1 << PRTIM1)) 228 #define power_timer1_disable() (PRR0 |= (uint8_t)(1 << PRTIM1)) 230 #define power_timer2_enable() (PRR0 &= (uint8_t)~(1 << PRTIM2)) 231 #define power_timer2_disable() (PRR0 |= (uint8_t)(1 << PRTIM2)) 233 #define power_timer3_enable() (PRR1 &= (uint8_t)~(1 << PRTIM3)) 234 #define power_timer3_disable() (PRR1 |= (uint8_t)(1 << PRTIM3)) 236 #define power_timer4_enable() (PRR1 &= (uint8_t)~(1 << PRTIM4)) 237 #define power_timer4_disable() (PRR1 |= (uint8_t)(1 << PRTIM4)) 239 #define power_timer5_enable() (PRR1 &= (uint8_t)~(1 << PRTIM5)) 240 #define power_timer5_disable() (PRR1 |= (uint8_t)(1 << PRTIM5)) 242 #define power_usart0_enable() (PRR0 &= (uint8_t)~(1 << PRUSART0)) 243 #define power_usart0_disable() (PRR0 |= (uint8_t)(1 << PRUSART0)) 245 #define power_usart1_enable() (PRR1 &= (uint8_t)~(1 << PRUSART1)) 246 #define power_usart1_disable() (PRR1 |= (uint8_t)(1 << PRUSART1)) 248 #define power_usart2_enable() (PRR1 &= (uint8_t)~(1 << PRUSART2)) 249 #define power_usart2_disable() (PRR1 |= (uint8_t)(1 << PRUSART2)) 251 #define power_usart3_enable() (PRR1 &= (uint8_t)~(1 << PRUSART3)) 252 #define power_usart3_disable() (PRR1 |= (uint8_t)(1 << PRUSART3)) 254 #define power_all_enable() \ 256 PRR0 &= (uint8_t)~((1<<PRADC)|(1<<PRSPI)|(1<<PRTWI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTIM2)|(1<<PRUSART0)); \ 257 PRR1 &= (uint8_t)~((1<<PRTIM3)|(1<<PRTIM4)|(1<<PRTIM5)|(1<<PRTIM5)|(1<<PRUSART1)|(1<<PRUSART2)|(1<<PRUSART3)); \ 260 #define power_all_disable() \ 262 PRR0 |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRTWI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTIM2)|(1<<PRUSART0)); \ 263 PRR1 |= (uint8_t)((1<<PRTIM3)|(1<<PRTIM4)|(1<<PRTIM5)|(1<<PRTIM5)|(1<<PRUSART1)|(1<<PRUSART2)|(1<<PRUSART3)); \ 267 #elif defined(__AVR_ATmega128RFA1__) 269 #define power_adc_enable() (PRR0 &= (uint8_t)~(1 << PRADC)) 270 #define power_adc_disable() (PRR0 |= (uint8_t)(1 << PRADC)) 272 #define power_spi_enable() (PRR0 &= (uint8_t)~(1 << PRSPI)) 273 #define power_spi_disable() (PRR0 |= (uint8_t)(1 << PRSPI)) 275 #define power_twi_enable() (PRR0 &= (uint8_t)~(1 << PRTWI)) 276 #define power_twi_disable() (PRR0 |= (uint8_t)(1 << PRTWI)) 278 #define power_timer0_enable() (PRR0 &= (uint8_t)~(1 << PRTIM0)) 279 #define power_timer0_disable() (PRR0 |= (uint8_t)(1 << PRTIM0)) 281 #define power_timer1_enable() (PRR0 &= (uint8_t)~(1 << PRTIM1)) 282 #define power_timer1_disable() (PRR0 |= (uint8_t)(1 << PRTIM1)) 284 #define power_timer2_enable() (PRR0 &= (uint8_t)~(1 << PRTIM2)) 285 #define power_timer2_disable() (PRR0 |= (uint8_t)(1 << PRTIM2)) 287 #define power_timer3_enable() (PRR1 &= (uint8_t)~(1 << PRTIM3)) 288 #define power_timer3_disable() (PRR1 |= (uint8_t)(1 << PRTIM3)) 290 #define power_timer4_enable() (PRR1 &= (uint8_t)~(1 << PRTIM4)) 291 #define power_timer4_disable() (PRR1 |= (uint8_t)(1 << PRTIM4)) 293 #define power_timer5_enable() (PRR1 &= (uint8_t)~(1 << PRTIM5)) 294 #define power_timer5_disable() (PRR1 |= (uint8_t)(1 << PRTIM5)) 296 #define power_usart0_enable() (PRR0 &= (uint8_t)~(1 << PRUSART0)) 297 #define power_usart0_disable() (PRR0 |= (uint8_t)(1 << PRUSART0)) 299 #define power_usart1_enable() (PRR1 &= (uint8_t)~(1 << PRUSART1)) 300 #define power_usart1_disable() (PRR1 |= (uint8_t)(1 << PRUSART1)) 302 #define power_all_enable() \ 304 PRR0 &= (uint8_t)~((1<<PRADC)|(1<<PRSPI)|(1<<PRTWI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTIM2)|(1<<PRUSART0)); \ 305 PRR1 &= (uint8_t)~((1<<PRTIM3)|(1<<PRTIM4)|(1<<PRTIM5)|(1<<PRTIM5)|(1<<PRUSART1)); \ 308 #define power_all_disable() \ 310 PRR0 |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRTWI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTIM2)|(1<<PRUSART0)); \ 311 PRR1 |= (uint8_t)((1<<PRTIM3)|(1<<PRTIM4)|(1<<PRTIM5)|(1<<PRTIM5)|(1<<PRUSART1)); \ 315 #elif defined(__AVR_AT90USB646__) \ 316 || defined(__AVR_AT90USB647__) \ 317 || defined(__AVR_AT90USB1286__) \ 318 || defined(__AVR_AT90USB1287__) 320 #define power_adc_enable() (PRR0 &= (uint8_t)~(1 << PRADC)) 321 #define power_adc_disable() (PRR0 |= (uint8_t)(1 << PRADC)) 323 #define power_spi_enable() (PRR0 &= (uint8_t)~(1 << PRSPI)) 324 #define power_spi_disable() (PRR0 |= (uint8_t)(1 << PRSPI)) 326 #define power_twi_enable() (PRR0 &= (uint8_t)~(1 << PRTWI)) 327 #define power_twi_disable() (PRR0 |= (uint8_t)(1 << PRTWI)) 329 #define power_timer0_enable() (PRR0 &= (uint8_t)~(1 << PRTIM0)) 330 #define power_timer0_disable() (PRR0 |= (uint8_t)(1 << PRTIM0)) 332 #define power_timer1_enable() (PRR0 &= (uint8_t)~(1 << PRTIM1)) 333 #define power_timer1_disable() (PRR0 |= (uint8_t)(1 << PRTIM1)) 335 #define power_timer2_enable() (PRR0 &= (uint8_t)~(1 << PRTIM2)) 336 #define power_timer2_disable() (PRR0 |= (uint8_t)(1 << PRTIM2)) 338 #define power_timer3_enable() (PRR1 &= (uint8_t)~(1 << PRTIM3)) 339 #define power_timer3_disable() (PRR1 |= (uint8_t)(1 << PRTIM3)) 341 #define power_usart1_enable() (PRR1 &= (uint8_t)~(1 << PRUSART1)) 342 #define power_usart1_disable() (PRR1 |= (uint8_t)(1 << PRUSART1)) 344 #define power_usb_enable() (PRR1 &= (uint8_t)~(1 << PRUSB)) 345 #define power_usb_disable() (PRR1 |= (uint8_t)(1 << PRUSB)) 347 #define power_all_enable() \ 349 PRR0 &= (uint8_t)~((1<<PRADC)|(1<<PRSPI)|(1<<PRTWI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTIM2)); \ 350 PRR1 &= (uint8_t)~((1<<PRTIM3)|(1<<PRUSART1)|(1<<PRUSB)); \ 353 #define power_all_disable() \ 355 PRR0 |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRTWI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTIM2)); \ 356 PRR1 |= (uint8_t)((1<<PRTIM3)|(1<<PRUSART1)|(1<<PRUSB)); \ 360 #elif defined(__AVR_ATmega32U4__) \ 361 || defined(__AVR_ATmega16U4__) 364 #define power_adc_enable() (PRR0 &= (uint8_t)~(1 << PRADC)) 365 #define power_adc_disable() (PRR0 |= (uint8_t)(1 << PRADC)) 367 #define power_usart0_enable() (PRR0 &= (uint8_t)~(1 << PRUSART0)) 368 #define power_usart0_disable() (PRR0 |= (uint8_t)(1 << PRUSART0)) 370 #define power_spi_enable() (PRR0 &= (uint8_t)~(1 << PRSPI)) 371 #define power_spi_disable() (PRR0 |= (uint8_t)(1 << PRSPI)) 373 #define power_twi_enable() (PRR0 &= (uint8_t)~(1 << PRTWI)) 374 #define power_twi_disable() (PRR0 |= (uint8_t)(1 << PRTWI)) 376 #define power_timer0_enable() (PRR0 &= (uint8_t)~(1 << PRTIM0)) 377 #define power_timer0_disable() (PRR0 |= (uint8_t)(1 << PRTIM0)) 379 #define power_timer1_enable() (PRR0 &= (uint8_t)~(1 << PRTIM1)) 380 #define power_timer1_disable() (PRR0 |= (uint8_t)(1 << PRTIM1)) 382 #define power_timer2_enable() (PRR0 &= (uint8_t)~(1 << PRTIM2)) 383 #define power_timer2_disable() (PRR0 |= (uint8_t)(1 << PRTIM2)) 385 #define power_timer3_enable() (PRR1 &= (uint8_t)~(1 << PRTIM3)) 386 #define power_timer3_disable() (PRR1 |= (uint8_t)(1 << PRTIM3)) 388 #define power_usart1_enable() (PRR1 &= (uint8_t)~(1 << PRUSART1)) 389 #define power_usart1_disable() (PRR1 |= (uint8_t)(1 << PRUSART1)) 391 #define power_usb_enable() (PRR1 &= (uint8_t)~(1 << PRUSB)) 392 #define power_usb_disable() (PRR1 |= (uint8_t)(1 << PRUSB)) 394 #define power_all_enable() \ 396 PRR0 &= (uint8_t)~((1<<PRADC)|(1<<PRUSART0)|(1<<PRSPI)|(1<<PRTWI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTIM2)); \ 397 PRR1 &= (uint8_t)~((1<<PRTIM3)|(1<<PRUSART1)|(1<<PRUSB)); \ 400 #define power_all_disable() \ 402 PRR0 |= (uint8_t)((1<<PRADC)|(1<<PRUSART0)|(1<<PRSPI)|(1<<PRTWI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTIM2)); \ 403 PRR1 |= (uint8_t)((1<<PRTIM3)|(1<<PRUSART1)|(1<<PRUSB)); \ 407 #elif defined(__AVR_ATmega32U6__) 410 #define power_adc_enable() (PRR0 &= (uint8_t)~(1 << PRADC)) 411 #define power_adc_disable() (PRR0 |= (uint8_t)(1 << PRADC)) 413 #define power_spi_enable() (PRR0 &= (uint8_t)~(1 << PRSPI)) 414 #define power_spi_disable() (PRR0 |= (uint8_t)(1 << PRSPI)) 416 #define power_twi_enable() (PRR0 &= (uint8_t)~(1 << PRTWI)) 417 #define power_twi_disable() (PRR0 |= (uint8_t)(1 << PRTWI)) 419 #define power_timer0_enable() (PRR0 &= (uint8_t)~(1 << PRTIM0)) 420 #define power_timer0_disable() (PRR0 |= (uint8_t)(1 << PRTIM0)) 422 #define power_timer1_enable() (PRR0 &= (uint8_t)~(1 << PRTIM1)) 423 #define power_timer1_disable() (PRR0 |= (uint8_t)(1 << PRTIM1)) 425 #define power_timer2_enable() (PRR0 &= (uint8_t)~(1 << PRTIM2)) 426 #define power_timer2_disable() (PRR0 |= (uint8_t)(1 << PRTIM2)) 428 #define power_timer3_enable() (PRR1 &= (uint8_t)~(1 << PRTIM3)) 429 #define power_timer3_disable() (PRR1 |= (uint8_t)(1 << PRTIM3)) 431 #define power_usart1_enable() (PRR1 &= (uint8_t)~(1 << PRUSART1)) 432 #define power_usart1_disable() (PRR1 |= (uint8_t)(1 << PRUSART1)) 434 #define power_usb_enable() (PRR1 &= (uint8_t)~(1 << PRUSB)) 435 #define power_usb_disable() (PRR1 |= (uint8_t)(1 << PRUSB)) 437 #define power_all_enable() \ 439 PRR0 &= (uint8_t)~((1<<PRADC)|(1<<PRSPI)|(1<<PRTWI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTIM2)); \ 440 PRR1 &= (uint8_t)~((1<<PRTIM3)|(1<<PRUSART1)|(1<<PRUSB)); \ 443 #define power_all_disable() \ 445 PRR0 |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRTWI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTIM2)); \ 446 PRR1 |= (uint8_t)((1<<PRTIM3)|(1<<PRUSART1)|(1<<PRUSB)); \ 450 #elif defined(__AVR_AT90PWM1__) 452 #define power_adc_enable() (PRR &= (uint8_t)~(1 << PRADC)) 453 #define power_adc_disable() (PRR |= (uint8_t)(1 << PRADC)) 455 #define power_spi_enable() (PRR &= (uint8_t)~(1 << PRSPI)) 456 #define power_spi_disable() (PRR |= (uint8_t)(1 << PRSPI)) 458 #define power_timer0_enable() (PRR &= (uint8_t)~(1 << PRTIM0)) 459 #define power_timer0_disable() (PRR |= (uint8_t)(1 << PRTIM0)) 461 #define power_timer1_enable() (PRR &= (uint8_t)~(1 << PRTIM1)) 462 #define power_timer1_disable() (PRR |= (uint8_t)(1 << PRTIM1)) 465 #define power_psc0_enable() (PRR &= (uint8_t)~(1 << PRPSC0)) 466 #define power_psc0_disable() (PRR |= (uint8_t)(1 << PRPSC0)) 469 #define power_psc1_enable() (PRR &= (uint8_t)~(1 << PRPSC1)) 470 #define power_psc1_disable() (PRR |= (uint8_t)(1 << PRPSC1)) 473 #define power_psc2_enable() (PRR &= (uint8_t)~(1 << PRPSC2)) 474 #define power_psc2_disable() (PRR |= (uint8_t)(1 << PRPSC2)) 476 #define power_all_enable() (PRR &= (uint8_t)~((1<<PRADC)|(1<<PRSPI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRPSC0)|(1<<PRPSC1)|(1<<PRPSC2))) 477 #define power_all_disable() (PRR |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRPSC0)|(1<<PRPSC1)|(1<<PRPSC2))) 480 #elif defined(__AVR_AT90PWM2__) \ 481 || defined(__AVR_AT90PWM2B__) \ 482 || defined(__AVR_AT90PWM3__) \ 483 || defined(__AVR_AT90PWM3B__) \ 484 || defined(__AVR_AT90PWM216__) \ 485 || defined(__AVR_AT90PWM316__) 487 #define power_adc_enable() (PRR &= (uint8_t)~(1 << PRADC)) 488 #define power_adc_disable() (PRR |= (uint8_t)(1 << PRADC)) 490 #define power_spi_enable() (PRR &= (uint8_t)~(1 << PRSPI)) 491 #define power_spi_disable() (PRR |= (uint8_t)(1 << PRSPI)) 493 #define power_usart_enable() (PRR &= (uint8_t)~(1 << PRUSART)) 494 #define power_usart_disable() (PRR |= (uint8_t)(1 << PRUSART)) 496 #define power_timer0_enable() (PRR &= (uint8_t)~(1 << PRTIM0)) 497 #define power_timer0_disable() (PRR |= (uint8_t)(1 << PRTIM0)) 499 #define power_timer1_enable() (PRR &= (uint8_t)~(1 << PRTIM1)) 500 #define power_timer1_disable() (PRR |= (uint8_t)(1 << PRTIM1)) 503 #define power_psc0_enable() (PRR &= (uint8_t)~(1 << PRPSC0)) 504 #define power_psc0_disable() (PRR |= (uint8_t)(1 << PRPSC0)) 507 #define power_psc1_enable() (PRR &= (uint8_t)~(1 << PRPSC1)) 508 #define power_psc1_disable() (PRR |= (uint8_t)(1 << PRPSC1)) 511 #define power_psc2_enable() (PRR &= (uint8_t)~(1 << PRPSC2)) 512 #define power_psc2_disable() (PRR |= (uint8_t)(1 << PRPSC2)) 514 #define power_all_enable() (PRR &= (uint8_t)~((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRPSC0)|(1<<PRPSC1)|(1<<PRPSC2))) 515 #define power_all_disable() (PRR |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRPSC0)|(1<<PRPSC1)|(1<<PRPSC2))) 518 #elif defined(__AVR_AT90PWM81__) 520 #define power_adc_enable() (PRR &= (uint8_t)~(1 << PRADC)) 521 #define power_adc_disable() (PRR |= (uint8_t)(1 << PRADC)) 523 #define power_spi_enable() (PRR &= (uint8_t)~(1 << PRSPI)) 524 #define power_spi_disable() (PRR |= (uint8_t)(1 << PRSPI)) 526 #define power_timer1_enable() (PRR &= (uint8_t)~(1 << PRTIM1)) 527 #define power_timer1_disable() (PRR |= (uint8_t)(1 << PRTIM1)) 530 #define power_psc0_enable() (PRR &= (uint8_t)~(1 << PRPSC0)) 531 #define power_psc0_disable() (PRR |= (uint8_t)(1 << PRPSC0)) 534 #define power_psc2_enable() (PRR &= (uint8_t)~(1 << PRPSC2)) 535 #define power_psc2_disable() (PRR |= (uint8_t)(1 << PRPSC2)) 537 #define power_all_enable() (PRR &= (uint8_t)~((1<<PRADC)|(1<<PRSPI)|(1<<PRTIM1)|(1<<PRPSC0)|(1<<PRPSC2))) 538 #define power_all_disable() (PRR |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRTIM1)|(1<<PRPSC0)|(1<<PRPSC2))) 541 #elif defined(__AVR_ATmega165__) \ 542 || defined(__AVR_ATmega165A__) \ 543 || defined(__AVR_ATmega165P__) \ 544 || defined(__AVR_ATmega325__) \ 545 || defined(__AVR_ATmega3250__) \ 546 || defined(__AVR_ATmega645__) \ 547 || defined(__AVR_ATmega645A__) \ 548 || defined(__AVR_ATmega645P__) \ 549 || defined(__AVR_ATmega6450__) \ 550 || defined(__AVR_ATmega6450A__) \ 551 || defined(__AVR_ATmega6450P__) 553 #define power_adc_enable() (PRR &= (uint8_t)~(1 << PRADC)) 554 #define power_adc_disable() (PRR |= (uint8_t)(1 << PRADC)) 556 #define power_spi_enable() (PRR &= (uint8_t)~(1 << PRSPI)) 557 #define power_spi_disable() (PRR |= (uint8_t)(1 << PRSPI)) 559 #define power_usart0_enable() (PRR &= (uint8_t)~(1 << PRUSART0)) 560 #define power_usart0_disable() (PRR |= (uint8_t)(1 << PRUSART0)) 562 #define power_timer1_enable() (PRR &= (uint8_t)~(1 << PRTIM1)) 563 #define power_timer1_disable() (PRR |= (uint8_t)(1 << PRTIM1)) 565 #define power_all_enable() (PRR &= (uint8_t)~((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART0)|(1<<PRTIM1))) 566 #define power_all_disable() (PRR |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART0)|(1<<PRTIM1))) 569 #elif defined(__AVR_ATmega169__) \ 570 || defined(__AVR_ATmega169A__) \ 571 || defined(__AVR_ATmega169P__) \ 572 || defined(__AVR_ATmega169PA__) \ 573 || defined(__AVR_ATmega329__) \ 574 || defined(__AVR_ATmega329P__) \ 575 || defined(__AVR_ATmega329PA__) \ 576 || defined(__AVR_ATmega3290__) \ 577 || defined(__AVR_ATmega3290P__) \ 578 || defined(__AVR_ATmega649__) \ 579 || defined(__AVR_ATmega649A__) \ 580 || defined(__AVR_ATmega649P__) \ 581 || defined(__AVR_ATmega6490__) \ 582 || defined(__AVR_ATmega6490A__) \ 583 || defined(__AVR_ATmega6490P__) 585 #define power_adc_enable() (PRR &= (uint8_t)~(1 << PRADC)) 586 #define power_adc_disable() (PRR |= (uint8_t)(1 << PRADC)) 588 #define power_spi_enable() (PRR &= (uint8_t)~(1 << PRSPI)) 589 #define power_spi_disable() (PRR |= (uint8_t)(1 << PRSPI)) 591 #define power_usart0_enable() (PRR &= (uint8_t)~(1 << PRUSART0)) 592 #define power_usart0_disable() (PRR |= (uint8_t)(1 << PRUSART0)) 594 #define power_timer1_enable() (PRR &= (uint8_t)~(1 << PRTIM1)) 595 #define power_timer1_disable() (PRR |= (uint8_t)(1 << PRTIM1)) 597 #define power_lcd_enable() (PRR &= (uint8_t)~(1 << PRLCD)) 598 #define power_lcd_disable() (PRR |= (uint8_t)(1 << PRLCD)) 600 #define power_all_enable() (PRR &= (uint8_t)~((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART0)|(1<<PRTIM1)|(1<<PRLCD))) 601 #define power_all_disable() (PRR |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART0)|(1<<PRTIM1)|(1<<PRLCD))) 604 #elif defined(__AVR_ATmega164A__) \ 605 || defined(__AVR_ATmega164P__) \ 606 || defined(__AVR_ATmega324A__) \ 607 || defined(__AVR_ATmega324P__) \ 608 || defined(__AVR_ATmega324PA__) 610 #define power_adc_enable() (PRR0 &= (uint8_t)~(1 << PRADC)) 611 #define power_adc_disable() (PRR0 |= (uint8_t)(1 << PRADC)) 613 #define power_spi_enable() (PRR0 &= (uint8_t)~(1 << PRSPI)) 614 #define power_spi_disable() (PRR0 |= (uint8_t)(1 << PRSPI)) 616 #define power_usart0_enable() (PRR0 &= (uint8_t)~(1 << PRUSART0)) 617 #define power_usart0_disable() (PRR0 |= (uint8_t)(1 << PRUSART0)) 619 #define power_usart1_enable() (PRR0 &= (uint8_t)~(1 << PRUSART1)) 620 #define power_usart1_disable() (PRR0 |= (uint8_t)(1 << PRUSART1)) 622 #define power_timer0_enable() (PRR0 &= (uint8_t)~(1 << PRTIM0)) 623 #define power_timer0_disable() (PRR0 |= (uint8_t)(1 << PRTIM0)) 625 #define power_timer1_enable() (PRR0 &= (uint8_t)~(1 << PRTIM1)) 626 #define power_timer1_disable() (PRR0 |= (uint8_t)(1 << PRTIM1)) 628 #define power_timer2_enable() (PRR0 &= (uint8_t)~(1 << PRTIM2)) 629 #define power_timer2_disable() (PRR0 |= (uint8_t)(1 << PRTIM2)) 631 #define power_twi_enable() (PRR0 &= (uint8_t)~(1 << PRTWI)) 632 #define power_twi_disable() (PRR0 |= (uint8_t)(1 << PRTWI)) 634 #define power_all_enable() (PRR0 &= (uint8_t)~((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART0)|(1<<PRUSART1)|(1<<PRTIM0)|(1<<PRTIM2)|(1<<PRTWI))) 635 #define power_all_disable() (PRR0 |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART0)|(1<<PRUSART1)|(1<<PRTIM0)|(1<<PRTIM2)|(1<<PRTWI))) 638 #elif defined(__AVR_ATmega644__) \ 639 || defined(__AVR_ATmega644A__) \ 640 || defined(__AVR_ATmega644P__) 642 #define power_adc_enable() (PRR0 &= (uint8_t)~(1 << PRADC)) 643 #define power_adc_disable() (PRR0 |= (uint8_t)(1 << PRADC)) 645 #define power_spi_enable() (PRR0 &= (uint8_t)~(1 << PRSPI)) 646 #define power_spi_disable() (PRR0 |= (uint8_t)(1 << PRSPI)) 648 #define power_usart0_enable() (PRR0 &= (uint8_t)~(1 << PRUSART0)) 649 #define power_usart0_disable() (PRR0 |= (uint8_t)(1 << PRUSART0)) 651 #define power_timer0_enable() (PRR0 &= (uint8_t)~(1 << PRTIM0)) 652 #define power_timer0_disable() (PRR0 |= (uint8_t)(1 << PRTIM0)) 654 #define power_timer1_enable() (PRR0 &= (uint8_t)~(1 << PRTIM1)) 655 #define power_timer1_disable() (PRR0 |= (uint8_t)(1 << PRTIM1)) 657 #define power_timer2_enable() (PRR0 &= (uint8_t)~(1 << PRTIM2)) 658 #define power_timer2_disable() (PRR0 |= (uint8_t)(1 << PRTIM2)) 660 #define power_twi_enable() (PRR0 &= (uint8_t)~(1 << PRTWI)) 661 #define power_twi_disable() (PRR0 |= (uint8_t)(1 << PRTWI)) 663 #define power_all_enable() (PRR0 &= (uint8_t)~((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART0)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTIM2)|(1<<PRTWI))) 664 #define power_all_disable() (PRR0 |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART0)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTIM2)|(1<<PRTWI))) 667 #elif defined(__AVR_ATmega406__) 669 #define power_twi_enable() (PRR0 &= (uint8_t)~(1 << PRTWI)) 670 #define power_twi_disable() (PRR0 |= (uint8_t)(1 << PRTWI)) 672 #define power_timer0_enable() (PRR0 &= (uint8_t)~(1 << PRTIM0)) 673 #define power_timer0_disable() (PRR0 |= (uint8_t)(1 << PRTIM0)) 675 #define power_timer1_enable() (PRR0 &= (uint8_t)~(1 << PRTIM1)) 676 #define power_timer1_disable() (PRR0 |= (uint8_t)(1 << PRTIM1)) 679 #define power_vadc_enable() (PRR0 &= (uint8_t)~(1 << PRVADC)) 680 #define power_vadc_disable() (PRR0 |= (uint8_t)(1 << PRVADC)) 682 #define power_all_enable() (PRR0 &= (uint8_t)~((1<<PRTWI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRVADC))) 683 #define power_all_disable() (PRR0 |= (uint8_t)((1<<PRTWI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRVADC))) 686 #elif defined(__AVR_ATmega48__) \ 687 || defined(__AVR_ATmega48A__) \ 688 || defined(__AVR_ATmega48P__) \ 689 || defined(__AVR_ATmega88__) \ 690 || defined(__AVR_ATmega88A__) \ 691 || defined(__AVR_ATmega88P__) \ 692 || defined(__AVR_ATmega88PA__) \ 693 || defined(__AVR_ATmega168__) \ 694 || defined(__AVR_ATmega168A__) \ 695 || defined(__AVR_ATmega168P__) \ 696 || defined(__AVR_ATmega328__) \ 697 || defined(__AVR_ATmega328P__) \ 698 || defined(__AVR_ATtiny48__) \ 699 || defined(__AVR_ATtiny88__) 701 #define power_adc_enable() (PRR &= (uint8_t)~(1 << PRADC)) 702 #define power_adc_disable() (PRR |= (uint8_t)(1 << PRADC)) 704 #define power_spi_enable() (PRR &= (uint8_t)~(1 << PRSPI)) 705 #define power_spi_disable() (PRR |= (uint8_t)(1 << PRSPI)) 707 #define power_usart0_enable() (PRR &= (uint8_t)~(1 << PRUSART0)) 708 #define power_usart0_disable() (PRR |= (uint8_t)(1 << PRUSART0)) 710 #define power_timer0_enable() (PRR &= (uint8_t)~(1 << PRTIM0)) 711 #define power_timer0_disable() (PRR |= (uint8_t)(1 << PRTIM0)) 713 #define power_timer1_enable() (PRR &= (uint8_t)~(1 << PRTIM1)) 714 #define power_timer1_disable() (PRR |= (uint8_t)(1 << PRTIM1)) 716 #define power_timer2_enable() (PRR &= (uint8_t)~(1 << PRTIM2)) 717 #define power_timer2_disable() (PRR |= (uint8_t)(1 << PRTIM2)) 719 #define power_twi_enable() (PRR &= (uint8_t)~(1 << PRTWI)) 720 #define power_twi_disable() (PRR |= (uint8_t)(1 << PRTWI)) 722 #define power_all_enable() (PRR &= (uint8_t)~((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART0)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTIM2)|(1<<PRTWI))) 723 #define power_all_disable() (PRR |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART0)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTIM2)|(1<<PRTWI))) 726 #elif defined(__AVR_ATtiny24__) \ 727 || defined(__AVR_ATtiny24A__) \ 728 || defined(__AVR_ATtiny44__) \ 729 || defined(__AVR_ATtiny44A__) \ 730 || defined(__AVR_ATtiny84__) \ 731 || defined(__AVR_ATtiny25__) \ 732 || defined(__AVR_ATtiny45__) \ 733 || defined(__AVR_ATtiny85__) \ 734 || defined(__AVR_ATtiny261__) \ 735 || defined(__AVR_ATtiny261A__) \ 736 || defined(__AVR_ATtiny461__) \ 737 || defined(__AVR_ATtiny461A__) \ 738 || defined(__AVR_ATtiny861__) \ 739 || defined(__AVR_ATtiny861A__) \ 740 || defined(__AVR_ATtiny43U__) 742 #define power_adc_enable() (PRR &= (uint8_t)~(1 << PRADC)) 743 #define power_adc_disable() (PRR |= (uint8_t)(1 << PRADC)) 745 #define power_timer0_enable() (PRR &= (uint8_t)~(1 << PRTIM0)) 746 #define power_timer0_disable() (PRR |= (uint8_t)(1 << PRTIM0)) 748 #define power_timer1_enable() (PRR &= (uint8_t)~(1 << PRTIM1)) 749 #define power_timer1_disable() (PRR |= (uint8_t)(1 << PRTIM1)) 752 #define power_usi_enable() (PRR &= (uint8_t)~(1 << PRUSI)) 753 #define power_usi_disable() (PRR |= (uint8_t)(1 << PRUSI)) 755 #define power_all_enable() (PRR &= (uint8_t)~((1<<PRADC)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRUSI))) 756 #define power_all_disable() (PRR |= (uint8_t)((1<<PRADC)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRUSI))) 759 #elif defined(__AVR_ATmega1284P__) 762 #define power_adc_enable() (PRR0 &= (uint8_t)~(1 << PRADC)) 763 #define power_adc_disable() (PRR0 |= (uint8_t)(1 << PRADC)) 765 #define power_spi_enable() (PRR0 &= (uint8_t)~(1 << PRSPI)) 766 #define power_spi_disable() (PRR0 |= (uint8_t)(1 << PRSPI)) 768 #define power_twi_enable() (PRR0 &= (uint8_t)~(1 << PRTWI)) 769 #define power_twi_disable() (PRR0 |= (uint8_t)(1 << PRTWI)) 771 #define power_timer0_enable() (PRR0 &= (uint8_t)~(1 << PRTIM0)) 772 #define power_timer0_disable() (PRR0 |= (uint8_t)(1 << PRTIM0)) 774 #define power_timer1_enable() (PRR0 &= (uint8_t)~(1 << PRTIM1)) 775 #define power_timer1_disable() (PRR0 |= (uint8_t)(1 << PRTIM1)) 777 #define power_timer2_enable() (PRR0 &= (uint8_t)~(1 << PRTIM2)) 778 #define power_timer2_disable() (PRR0 |= (uint8_t)(1 << PRTIM2)) 780 #define power_timer3_enable() (PRR1 &= (uint8_t)~(1 << PRTIM3)) 781 #define power_timer3_disable() (PRR1 |= (uint8_t)(1 << PRTIM3)) 783 #define power_usart0_enable() (PRR0 &= (uint8_t)~(1 << PRUSART0)) 784 #define power_usart0_disable() (PRR0 |= (uint8_t)(1 << PRUSART0)) 786 #define power_usart1_enable() (PRR0 &= (uint8_t)~(1 << PRUSART1)) 787 #define power_usart1_disable() (PRR0 |= (uint8_t)(1 << PRUSART1)) 789 #define power_all_enable() \ 791 PRR0 &= (uint8_t)~((1<<PRADC)|(1<<PRSPI)|(1<<PRTWI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTIM2)|(1<<PRUSART0)|(1<<PRUSART1)); \ 792 PRR1 &= (uint8_t)~(1<<PRTIM3); \ 795 #define power_all_disable() \ 797 PRR0 |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRTWI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTIM2)|(1<<PRUSART0)|(1<<PRUSART1)); \ 798 PRR1 |= (uint8_t)(1<<PRTIM3); \ 802 #elif defined(__AVR_ATmega32HVB__) 805 #define power_twi_enable() (PRR0 &= (uint8_t)~(1 << PRTWI)) 806 #define power_twi_disable() (PRR0 |= (uint8_t)(1 << PRTWI)) 808 #define power_timer0_enable() (PRR0 &= (uint8_t)~(1 << PRTIM0)) 809 #define power_timer0_disable() (PRR0 |= (uint8_t)(1 << PRTIM0)) 811 #define power_timer1_enable() (PRR0 &= (uint8_t)~(1 << PRTIM1)) 812 #define power_timer1_disable() (PRR0 |= (uint8_t)(1 << PRTIM1)) 815 #define power_vadc_enable() (PRR0 &= (uint8_t)~(1 << PRVADC)) 816 #define power_vadc_disable() (PRR0 |= (uint8_t)(1 << PRVADC)) 818 #define power_spi_enable() (PRR0 &= (uint8_t)~(1 << PRSPI)) 819 #define power_spi_disable() (PRR0 |= (uint8_t)(1 << PRSPI)) 821 #define power_vrm_enable() (PRR0 &= (uint8_t)~(1 << PRVRM)) 822 #define power_vrm_disable() (PRR0 |= (uint8_t)(1 << PRVRM)) 824 #define power_all_enable() (PRR0 &= (uint8_t)~((1<<PRTWI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRVADC)|(1<<PRSPI)|(1<<PRVRM))) 825 #define power_all_disable() (PRR0 |= (uint8_t)((1<<PRTWI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRVADC)|(1<<PRSPI)|(1<<PRVRM))) 828 #elif defined(__AVR_ATmega16M1__) \ 829 || defined(__AVR_ATmega32C1__) \ 830 || defined(__AVR_ATmega32M1__) \ 831 || defined(__AVR_ATmega64C1__) \ 832 || defined(__AVR_ATmega64M1__) 834 #define power_adc_enable() (PRR &= (uint8_t)~(1 << PRADC)) 835 #define power_adc_disable() (PRR |= (uint8_t)(1 << PRADC)) 837 #define power_lin_enable() (PRR &= (uint8_t)~(1 << PRLIN)) 838 #define power_lin_disable() (PRR |= (uint8_t)(1 << PRLIN)) 840 #define power_spi_enable() (PRR &= (uint8_t)~(1 << PRSPI)) 841 #define power_spi_disable() (PRR |= (uint8_t)(1 << PRSPI)) 843 #define power_timer0_enable() (PRR &= (uint8_t)~(1 << PRTIM0)) 844 #define power_timer0_disable() (PRR |= (uint8_t)(1 << PRTIM0)) 846 #define power_timer1_enable() (PRR &= (uint8_t)~(1 << PRTIM1)) 847 #define power_timer1_disable() (PRR |= (uint8_t)(1 << PRTIM1)) 849 #define power_psc_enable() (PRR &= (uint8_t)~(1 << PRPSC)) 850 #define power_psc_disable() (PRR |= (uint8_t)(1 << PRPSC)) 852 #define power_can_enable() (PRR &= (uint8_t)~(1 << PRCAN)) 853 #define power_can_disable() (PRR |= (uint8_t)(1 << PRCAN)) 855 #define power_all_enable() (PRR &= (uint8_t)~((1<<PRADC)|(1<<PRLIN)|(1<<PRSPI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRPSC)|(1<<PRCAN))) 856 #define power_all_disable() (PRR |= (uint8_t)((1<<PRADC)|(1<<PRLIN)|(1<<PRSPI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRPSC)|(1<<PRCAN))) 859 #elif defined(__AVR_ATtiny167__) \ 860 || defined(__AVR_ATtiny87__) 863 #define power_adc_enable() (PRR &= (uint8_t)~(1 << PRADC)) 864 #define power_adc_disable() (PRR |= (uint8_t)(1 << PRADC)) 866 #define power_usi_enable() (PRR &= (uint8_t)~(1 << PRUSI)) 867 #define power_usi_disable() (PRR |= (uint8_t)(1 << PRUSI)) 869 #define power_timer0_enable() (PRR &= (uint8_t)~(1 << PRTIM0)) 870 #define power_timer0_disable() (PRR |= (uint8_t)(1 << PRTIM0)) 872 #define power_timer1_enable() (PRR &= (uint8_t)~(1 << PRTIM1)) 873 #define power_timer1_disable() (PRR |= (uint8_t)(1 << PRTIM1)) 875 #define power_spi_enable() (PRR &= (uint8_t)~(1 << PRSPI)) 876 #define power_spi_disable() (PRR |= (uint8_t)(1 << PRSPI)) 878 #define power_lin_enable() (PRR &= (uint8_t)~(1 << PRLIN)) 879 #define power_lin_disable() (PRR |= (uint8_t)(1 << PRLIN)) 881 #define power_all_enable() (PRR &= (uint8_t)~((1<<PRADC)|(1<<PRUSI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRSPI)|(1<<PRLIN))) 882 #define power_all_disable() (PRR |= (uint8_t)((1<<PRADC)|(1<<PRUSI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRSPI)|(1<<PRLIN))) 885 #elif defined(__AVR_AT90USB82__) \ 886 || defined(__AVR_AT90USB162__) \ 887 || defined(__AVR_ATmega8U2__) \ 888 || defined(__AVR_ATmega16U2__) \ 889 || defined(__AVR_ATmega32U2__) 891 #define power_spi_enable() (PRR0 &= (uint8_t)~(1 << PRSPI)) 892 #define power_spi_disable() (PRR0 |= (uint8_t)(1 << PRSPI)) 894 #define power_timer0_enable() (PRR0 &= (uint8_t)~(1 << PRTIM0)) 895 #define power_timer0_disable() (PRR0 |= (uint8_t)(1 << PRTIM0)) 897 #define power_timer1_enable() (PRR0 &= (uint8_t)~(1 << PRTIM1)) 898 #define power_timer1_disable() (PRR0 |= (uint8_t)(1 << PRTIM1)) 900 #define power_usb_enable() (PRR1 &= (uint8_t)~(1 << PRUSB)) 901 #define power_usb_disable() (PRR1 |= (uint8_t)(1 << PRUSB)) 903 #define power_usart1_enable() (PRR1 &= (uint8_t)~(1 << PRUSART1)) 904 #define power_usart1_disable() (PRR1 |= (uint8_t)(1 << PRUSART1)) 906 #define power_all_enable() \ 908 PRR0 &= (uint8_t)~((1<<PRSPI)|(1<<PRTIM0)|(1<<PRTIM1)); \ 909 PRR1 &= (uint8_t)~((1<<PRUSB)|(1<<PRUSART1)); \ 912 #define power_all_disable() \ 914 PRR0 |= (uint8_t)((1<<PRSPI)|(1<<PRTIM0)|(1<<PRTIM1)); \ 915 PRR1 |= (uint8_t)((1<<PRUSB)|(1<<PRUSART1)); \ 919 #elif defined(__AVR_AT90SCR100__) 921 #define power_usart0_enable() (PRR0 &= (uint8_t)~(1 << PRUSART0)) 922 #define power_usart0_disable() (PRR0 |= (uint8_t)(1 << PRUSART0)) 924 #define power_spi_enable() (PRR0 &= (uint8_t)~(1 << PRSPI)) 925 #define power_spi_disable() (PRR0 |= (uint8_t)(1 << PRSPI)) 927 #define power_timer1_enable() (PRR0 &= (uint8_t)~(1 << PRTIM1)) 928 #define power_timer1_disable() (PRR0 |= (uint8_t)(1 << PRTIM1)) 930 #define power_timer0_enable() (PRR0 &= (uint8_t)~(1 << PRTIM0)) 931 #define power_timer0_disable() (PRR0 |= (uint8_t)(1 << PRTIM0)) 933 #define power_timer2_enable() (PRR0 &= (uint8_t)~(1 << PRTIM2)) 934 #define power_timer2_disable() (PRR0 |= (uint8_t)(1 << PRTIM2)) 936 #define power_twi_enable() (PRR0 &= (uint8_t)~(1 << PRTWI)) 937 #define power_twi_disable() (PRR0 |= (uint8_t)(1 << PRTWI)) 939 #define power_usbh_enable() (PRR1 &= (uint8_t)~(1 << PRUSBH)) 940 #define power_usbh_disable() (PRR1 |= (uint8_t)(1 << PRUSBH)) 942 #define power_usb_enable() (PRR1 &= (uint8_t)~(1 << PRUSB)) 943 #define power_usb_disable() (PRR1 |= (uint8_t)(1 << PRUSB)) 945 #define power_hsspi_enable() (PRR1 &= (uint8_t)~(1 << PRHSSPI)) 946 #define power_hsspi_disable() (PRR1 |= (uint8_t)(1 << PRHSSPI)) 948 #define power_sci_enable() (PRR1 &= (uint8_t)~(1 << PRSCI)) 949 #define power_sci_disable() (PRR1 |= (uint8_t)(1 << PRSCI)) 951 #define power_aes_enable() (PRR1 &= (uint8_t)~(1 << PRAES)) 952 #define power_aes_disable() (PRR1 |= (uint8_t)(1 << PRAES)) 954 #define power_kb_enable() (PRR1 &= (uint8_t)~(1 << PRKB)) 955 #define power_kb_disable() (PRR1 |= (uint8_t)(1 << PRKB)) 957 #define power_all_enable() \ 959 PRR0 &= (uint8_t)~((1<<PRUSART0)|(1<<PRSPI)|(1<<PRTIM1)|(1<<PRTIM0)|(1<<PRTIM2)|(1<<PRTWI)); \ 960 PRR1 &= (uint8_t)~((1<<PRUSBH)|(1<<PRUSB)|(1<<PRHSSPI)|(1<<PRSCI)|(1<<PRAES)|(1<<PRKB)); \ 963 #define power_all_disable() \ 965 PRR0 |= (uint8_t)((1<<PRUSART0)|(1<<PRSPI)|(1<<PRTIM1)|(1<<PRTIM0)|(1<<PRTIM2)|(1<<PRTWI)); \ 966 PRR1 |= (uint8_t)((1<<PRUSBH)|(1<<PRUSB)|(1<<PRHSSPI)|(1<<PRSCI)|(1<<PRAES)|(1<<PRKB)); \ 970 #elif defined(__AVR_ATtiny13A__) 972 #define power_adc_enable() (PRR &= (uint8_t)~(1 << PRADC)) 973 #define power_adc_disable() (PRR |= (uint8_t)(1 << PRADC)) 975 #define power_timer0_enable() (PRR &= (uint8_t)~(1 << PRTIM0)) 976 #define power_timer0_disable() (PRR |= (uint8_t)(1 << PRTIM0)) 978 #define power_all_enable() (PRR &= (uint8_t)~((1<<PRADC)|(1<<PRTIM0))) 979 #define power_all_disable() (PRR |= (uint8_t)((1<<PRADC)|(1<<PRTIM0))) 984 #if defined(__AVR_AT90CAN32__) \ 985 || defined(__AVR_AT90CAN64__) \ 986 || defined(__AVR_AT90CAN128__) \ 987 || defined(__AVR_AT90PWM1__) \ 988 || defined(__AVR_AT90PWM2__) \ 989 || defined(__AVR_AT90PWM2B__) \ 990 || defined(__AVR_AT90PWM3__) \ 991 || defined(__AVR_AT90PWM3B__) \ 992 || defined(__AVR_AT90PWM216__) \ 993 || defined(__AVR_AT90PWM316__) \ 994 || defined(__AVR_AT90SCR100__) \ 995 || defined(__AVR_AT90USB646__) \ 996 || defined(__AVR_AT90USB647__) \ 997 || defined(__AVR_AT90USB82__) \ 998 || defined(__AVR_AT90USB1286__) \ 999 || defined(__AVR_AT90USB1287__) \ 1000 || defined(__AVR_AT90USB162__) \ 1001 || defined(__AVR_ATmega1280__) \ 1002 || defined(__AVR_ATmega1281__) \ 1003 || defined(__AVR_ATmega128RFA1__) \ 1004 || defined(__AVR_ATmega1284P__) \ 1005 || defined(__AVR_ATmega162__) \ 1006 || defined(__AVR_ATmega164A__) \ 1007 || defined(__AVR_ATmega164P__) \ 1008 || defined(__AVR_ATmega165__) \ 1009 || defined(__AVR_ATmega165A__) \ 1010 || defined(__AVR_ATmega165P__) \ 1011 || defined(__AVR_ATmega168__) \ 1012 || defined(__AVR_ATmega168P__) \ 1013 || defined(__AVR_ATmega169__) \ 1014 || defined(__AVR_ATmega169A__) \ 1015 || defined(__AVR_ATmega169P__) \ 1016 || defined(__AVR_ATmega169PA__) \ 1017 || defined(__AVR_ATmega16U4__) \ 1018 || defined(__AVR_ATmega2560__) \ 1019 || defined(__AVR_ATmega2561__) \ 1020 || defined(__AVR_ATmega324A__) \ 1021 || defined(__AVR_ATmega324P__) \ 1022 || defined(__AVR_ATmega325__) \ 1023 || defined(__AVR_ATmega3250__) \ 1024 || defined(__AVR_ATmega328P__) \ 1025 || defined(__AVR_ATmega329__) \ 1026 || defined(__AVR_ATmega329P__) \ 1027 || defined(__AVR_ATmega329PA__) \ 1028 || defined(__AVR_ATmega3290__) \ 1029 || defined(__AVR_ATmega32C1__) \ 1030 || defined(__AVR_ATmega32HVB__) \ 1031 || defined(__AVR_ATmega32M1__) \ 1032 || defined(__AVR_ATmega32U4__) \ 1033 || defined(__AVR_ATmega32U6__) \ 1034 || defined(__AVR_ATmega48__) \ 1035 || defined(__AVR_ATmega48P__) \ 1036 || defined(__AVR_ATmega640__) \ 1037 || defined(__AVR_ATmega649P__) \ 1038 || defined(__AVR_ATmega644__) \ 1039 || defined(__AVR_ATmega644A__) \ 1040 || defined(__AVR_ATmega644P__) \ 1041 || defined(__AVR_ATmega644PA__) \ 1042 || defined(__AVR_ATmega645__) \ 1043 || defined(__AVR_ATmega645A__) \ 1044 || defined(__AVR_ATmega645P__) \ 1045 || defined(__AVR_ATmega6450__) \ 1046 || defined(__AVR_ATmega6450A__) \ 1047 || defined(__AVR_ATmega6450P__) \ 1048 || defined(__AVR_ATmega649__) \ 1049 || defined(__AVR_ATmega649A__) \ 1050 || defined(__AVR_ATmega6490__) \ 1051 || defined(__AVR_ATmega6490A__) \ 1052 || defined(__AVR_ATmega6490P__) \ 1053 || defined(__AVR_ATmega88__) \ 1054 || defined(__AVR_ATmega88P__) \ 1055 || defined(__AVR_ATtiny48__) \ 1056 || defined(__AVR_ATtiny167__) \ 1057 || defined(__DOXYGEN__) 1102 #if defined(__AVR_ATmega128RFA1__) 1103 clock_div_1_rc = 15,
1108 static __inline__
void clock_prescale_set(clock_div_t) __attribute__((__always_inline__));
1119 void clock_prescale_set(clock_div_t __x)
1121 uint8_t __tmp =
_BV(CLKPCE);
1123 "in __tmp_reg__,__SREG__" "\n\t" 1127 "out __SREG__, __tmp_reg__" 1130 "M" (_SFR_MEM_ADDR(CLKPR)),
1140 #define clock_prescale_get() (clock_div_t)(CLKPR & (uint8_t)((1<<CLKPS0)|(1<<CLKPS1)|(1<<CLKPS2)|(1<<CLKPS3))) 1143 #elif defined(__AVR_ATtiny24__) \ 1144 || defined(__AVR_ATtiny24A__) \ 1145 || defined(__AVR_ATtiny44__) \ 1146 || defined(__AVR_ATtiny44A__) \ 1147 || defined(__AVR_ATtiny84__) \ 1148 || defined(__AVR_ATtiny25__) \ 1149 || defined(__AVR_ATtiny45__) \ 1150 || defined(__AVR_ATtiny85__) \ 1151 || defined(__AVR_ATtiny261A__) \ 1152 || defined(__AVR_ATtiny261__) \ 1153 || defined(__AVR_ATtiny461__) \ 1154 || defined(__AVR_ATtiny461A__) \ 1155 || defined(__AVR_ATtiny861__) \ 1156 || defined(__AVR_ATtiny861A__) \ 1157 || defined(__AVR_ATtiny2313__) \ 1158 || defined(__AVR_ATtiny2313A__) \ 1159 || defined(__AVR_ATtiny4313__) \ 1160 || defined(__AVR_ATtiny13__) \ 1161 || defined(__AVR_ATtiny13A__) \ 1162 || defined(__AVR_ATtiny43U__) \ 1178 void clock_prescale_set(clock_div_t __x)
1180 uint8_t __tmp =
_BV(CLKPCE);
1182 "in __tmp_reg__,__SREG__" "\n\t" 1186 "out __SREG__, __tmp_reg__" 1189 "I" (_SFR_IO_ADDR(CLKPR)),
1195 #define clock_prescale_get() (clock_div_t)(CLKPR & (uint8_t)((1<<CLKPS0)|(1<<CLKPS1)|(1<<CLKPS2)|(1<<CLKPS3))) register struct Per_CPU_Control *_SPARC_Per_CPU_current __asm__("g6")
The pointer to the current per-CPU control is available via register g6.
AVR device-specific IO Definitions.
#define _BV(bit)
Definition: sfr_defs.h:217