⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 power.h

📁 在WinAVR下的ST7565圖形點陣的驅動程序
💻 H
📖 第 1 页 / 共 4 页
字号:

  <tr>
    <td>power_usi_enable()</td>
    <td>Enable the Universal Serial Interface module.</td>
    <td>ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
  </tr>

  <tr>
    <td>power_usi_disable()</td>
    <td>Disable the Universal Serial Interface module.</td>
    <td>ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
  </tr>

  <tr>
    <td>power_vadc_enable()</td>
    <td>Enable the Voltage ADC module.</td>
    <td>ATmega406</td>
  </tr>

  <tr>
    <td>power_vadc_disable()</td>
    <td>Disable the Voltage ADC module.</td>
    <td>ATmega406</td>
  </tr>

  <tr>
    <td>power_all_enable()</td>
    <td>Enable all modules.</td>
    <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
  </tr>

  <tr>
    <td>power_all_disable()</td>
    <td>Disable all modules.</td>
    <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
  </tr>
</table>
</center>
</small>

@} */


#if defined(__AVR_ATxmega128a1__) \
|| defined(__AVR_ATxmega64a1)

/*
#define power_aes_enable()  (PM_PR_PR &= (uint8_t)~(PR_AES_bm))
#define power_aes_disable() (PM_PR_PR |= (uint8_t)PR_AES_bm)
*/

#define power_ebi_enable()  (PM_PR_PR &= (uint8_t)~(PR_EBI_bm))
#define power_ebi_disable() (PM_PR_PR |= (uint8_t)PR_EBI_bm)

#define power_rtc_enable()  (PM_PR_PR &= (uint8_t)~(PR_RTC_bm))
#define power_rtc_disable() (PM_PR_PR |= (uint8_t)PR_RTC_bm)

#define power_evsys_enable()    (PM_PR_PR &= (uint8_t)~(PR_EVSYS_bm))
#define power_evsys_disable()   (PM_PR_PR |= (uint8_t)PR_EVSYS_bm)

#define power_dma_enable()    (PM_PR_PR &= (uint8_t)~(PR_DMA_bm))
#define power_dma_disable()   (PM_PR_PR |= (uint8_t)PR_DMA_bm)

#define power_daca_enable()     (PM_PR_PRPA &= (uint8_t)~(PR_DAC_bm))
#define power_daca_disable()    (PM_PR_PRPA |= (uint8_t)PR_DAC_bm)
#define power_dacb_enable()     (PM_PR_PRPB &= (uint8_t)~(PR_DAC_bm))
#define power_dacb_disable()    (PM_PR_PRPB |= (uint8_t)PR_DAC_bm)

#define power_adca_enable()     (PM_PR_PRPA &= (uint8_t)~(PR_ADC_bm))
#define power_adca_disable()    (PM_PR_PRPA |= (uint8_t)PR_ADC_bm)
#define power_adcb_enable()     (PM_PR_PRPB &= (uint8_t)~(PR_ADC_bm))
#define power_adcb_disable()    (PM_PR_PRPB |= (uint8_t)PR_ADC_bm)

#define power_aca_enable()      (PM_PR_PRPA &= (uint8_t)~(PR_AC_bm))
#define power_aca_disable()     (PM_PR_PRPA |= (uint8_t)PR_AC_bm)
#define power_acb_enable()      (PM_PR_PRPA &= (uint8_t)~(PR_AC_bm))
#define power_acb_disable()     (PM_PR_PRPA |= (uint8_t)PR_AC_bm)

#define power_twic_enable()     (PM_PR_PRPC &= (uint8_t)~(PR_TWI_bm))
#define power_twic_disable()    (PM_PR_PRPC |= (uint8_t)PR_TWI_bm)
#define power_twid_enable()     (PM_PR_PRPD &= (uint8_t)~(PR_TWI_bm))
#define power_twid_disable()    (PM_PR_PRPD |= (uint8_t)PR_TWI_bm)
#define power_twie_enable()     (PM_PR_PRPE &= (uint8_t)~(PR_TWI_bm))
#define power_twie_disable()    (PM_PR_PRPE |= (uint8_t)PR_TWI_bm)
#define power_twif_enable()     (PM_PR_PRPF &= (uint8_t)~(PR_TWI_bm))
#define power_twif_disable()    (PM_PR_PRPF |= (uint8_t)PR_TWI_bm)

#define power_usartc1_enable()  (PM_PR_PRPC &= (uint8_t)~(PR_USART1_bm))
#define power_usartc1_disable() (PM_PR_PRPC |= (uint8_t)PR_USART1_bm)
#define power_usartd1_enable()  (PM_PR_PRPD &= (uint8_t)~(PR_USART1_bm))
#define power_usartd1_disable() (PM_PR_PRPD |= (uint8_t)PR_USART1_bm)
#define power_usarte1_enable()  (PM_PR_PRPE &= (uint8_t)~(PR_USART1_bm))
#define power_usarte1_disable() (PM_PR_PRPE |= (uint8_t)PR_USART1_bm)
#define power_usartf1_enable()  (PM_PR_PRPF &= (uint8_t)~(PR_USART1_bm))
#define power_usartf1_disable() (PM_PR_PRPF |= (uint8_t)PR_USART1_bm)

#define power_usartc0_enable()  (PM_PR_PRPC &= (uint8_t)~(PR_USART0_bm))
#define power_usartc0_disable() (PM_PR_PRPC |= (uint8_t)PR_USART0_bm)
#define power_usartd0_enable()  (PM_PR_PRPD &= (uint8_t)~(PR_USART0_bm))
#define power_usartd0_disable() (PM_PR_PRPD |= (uint8_t)PR_USART0_bm)
#define power_usarte0_enable()  (PM_PR_PRPE &= (uint8_t)~(PR_USART0_bm))
#define power_usarte0_disable() (PM_PR_PRPE |= (uint8_t)PR_USART0_bm)
#define power_usartf0_enable()  (PM_PR_PRPF &= (uint8_t)~(PR_USART0_bm))
#define power_usartf0_disable() (PM_PR_PRPF |= (uint8_t)PR_USART0_bm)

#define power_spic_enable()     (PM_PR_PRPC &= (uint8_t)~(PR_SPI_bm))
#define power_spic_disable()    (PM_PR_PRPC |= (uint8_t)PR_SPI_bm)
#define power_spid_enable()     (PM_PR_PRPD &= (uint8_t)~(PR_SPI_bm))
#define power_spid_disable()    (PM_PR_PRPD |= (uint8_t)PR_SPI_bm)
#define power_spie_enable()     (PM_PR_PRPE &= (uint8_t)~(PR_SPI_bm))
#define power_spie_disable()    (PM_PR_PRPE |= (uint8_t)PR_SPI_bm)
#define power_spif_enable()     (PM_PR_PRPF &= (uint8_t)~(PR_SPI_bm))
#define power_spif_disable()    (PM_PR_PRPF |= (uint8_t)PR_SPI_bm)

#define power_hiresc_enable()   (PM_PR_PRPC &= (uint8_t)~(PR_HIRES_bm))
#define power_hiresc_disable()  (PM_PR_PRPC |= (uint8_t)PR_HIRES_bm)
#define power_hiresd_enable()   (PM_PR_PRPD &= (uint8_t)~(PR_HIRES_bm))
#define power_hiresd_disable()  (PM_PR_PRPD |= (uint8_t)PR_HIRES_bm)
#define power_hirese_enable()   (PM_PR_PRPE &= (uint8_t)~(PR_HIRES_bm))
#define power_hirese_disable()  (PM_PR_PRPE |= (uint8_t)PR_HIRES_bm)
#define power_hiresf_enable()   (PM_PR_PRPF &= (uint8_t)~(PR_HIRES_bm))
#define power_hiresf_disable()  (PM_PR_PRPF |= (uint8_t)PR_HIRES_bm)

#define power_tc1c_enable()     (PM_PR_PRPC &= (uint8_t)~(PR_TC1_bm))
#define power_tc1c_disable()    (PM_PR_PRPC |= (uint8_t)PR_TC1_bm)
#define power_tc1d_enable()     (PM_PR_PRPD &= (uint8_t)~(PR_TC1_bm))
#define power_tc1d_disable()    (PM_PR_PRPD |= (uint8_t)PR_TC1_bm)
#define power_tc1e_enable()     (PM_PR_PRPE &= (uint8_t)~(PR_TC1_bm))
#define power_tc1e_disable()    (PM_PR_PRPE |= (uint8_t)PR_TC1_bm)
#define power_tc1f_enable()     (PM_PR_PRPF &= (uint8_t)~(PR_TC1_bm))
#define power_tc1f_disable()    (PM_PR_PRPF |= (uint8_t)PR_TC1_bm)

#define power_tc0c_enable()     (PM_PR_PRPC &= (uint8_t)~(PR_TC0_bm))
#define power_tc0c_disable()    (PM_PR_PRPC |= (uint8_t)PR_TC0_bm)
#define power_tc0d_enable()     (PM_PR_PRPD &= (uint8_t)~(PR_TC0_bm))
#define power_tc0d_disable()    (PM_PR_PRPD |= (uint8_t)PR_TC0_bm)
#define power_tc0e_enable()     (PM_PR_PRPE &= (uint8_t)~(PR_TC0_bm))
#define power_tc0e_disable()    (PM_PR_PRPE |= (uint8_t)PR_TC0_bm)
#define power_tc0f_enable()     (PM_PR_PRPF &= (uint8_t)~(PR_TC0_bm))
#define power_tc0f_disable()    (PM_PR_PRPF |= (uint8_t)PR_TC0_bm)

#define power_all_enable() \
do { \
    /* PM_PR_PR &= (uint8_t)~(PR_AES_bm|PR_EBI_bm|PR_RTC_bm|PR_EVSYS_bm|PR_DMA_bm); */ \
    PM_PR_PR &= (uint8_t)~(PR_EBI_bm|PR_RTC_bm|PR_EVSYS_bm|PR_DMA_bm); \
    PM_PR_PRPA &= (uint8_t)~(PR_DAC_bm|PR_ADC_bm|PR_AC_bm); \
    PM_PR_PRPB &= (uint8_t)~(PR_DAC_bm|PR_ADC_bm|PR_AC_bm); \
    PM_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); \
    PM_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); \
    PM_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); \
    PM_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); \
} while(0)


#define power_all_disable() \
do { \
    /* PM_PR_PR |= (uint8_t)(PR_AES_bm|PR_EBI_bm|PR_RTC_bm|PR_EVSYS_bm|PR_DMA_bm); */ \
    PM_PR_PR |= (uint8_t)(PR_EBI_bm|PR_RTC_bm|PR_EVSYS_bm|PR_DMA_bm); \
    PM_PR_PRPA |= (uint8_t)(PR_DAC_bm|PR_ADC_bm|PR_AC_bm); \
    PM_PR_PRPB |= (uint8_t)(PR_DAC_bm|PR_ADC_bm|PR_AC_bm); \
    PM_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); \
    PM_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); \
    PM_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); \
    PM_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); \
} while(0)


#elif defined(__AVR_ATmega640__) \
|| defined(__AVR_ATmega1280__) \
|| defined(__AVR_ATmega1281__) \
|| defined(__AVR_ATmega2560__) \
|| defined(__AVR_ATmega2561__) 

#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_twi_enable()      (PRR0 &= (uint8_t)~(1 << PRTWI))
#define power_twi_disable()     (PRR0 |= (uint8_t)(1 << PRTWI))

#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_timer3_enable()   (PRR1 &= (uint8_t)~(1 << PRTIM3))
#define power_timer3_disable()  (PRR1 |= (uint8_t)(1 << PRTIM3))

#define power_timer4_enable()   (PRR1 &= (uint8_t)~(1 << PRTIM4))
#define power_timer4_disable()  (PRR1 |= (uint8_t)(1 << PRTIM4))

#define power_timer5_enable()   (PRR1 &= (uint8_t)~(1 << PRTIM5))
#define power_timer5_disable()  (PRR1 |= (uint8_t)(1 << PRTIM5))

#define power_usart0_enable()   (PRR0 &= (uint8_t)~(1 << PRUSART0))
#define power_usart0_disable()  (PRR0 |= (uint8_t)(1 << PRUSART0))

#define power_usart1_enable()   (PRR1 &= (uint8_t)~(1 << PRUSART1))
#define power_usart1_disable()  (PRR1 |= (uint8_t)(1 << PRUSART1))

#define power_usart2_enable()   (PRR1 &= (uint8_t)~(1 << PRUSART2))
#define power_usart2_disable()  (PRR1 |= (uint8_t)(1 << PRUSART2))

#define power_usart3_enable()   (PRR1 &= (uint8_t)~(1 << PRUSART3))
#define power_usart3_disable()  (PRR1 |= (uint8_t)(1 << PRUSART3))

#define power_all_enable() \
do{ \
    PRR0 &= (uint8_t)~((1<<PRADC)|(1<<PRSPI)|(1<<PRTWI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTIM2)|(1<<PRUSART0)); \
    PRR1 &= (uint8_t)~((1<<PRTIM3)|(1<<PRTIM4)|(1<<PRTIM5)|(1<<PRTIM5)|(1<<PRUSART1)|(1<<PRUSART2)|(1<<PRUSART3)); \
}while(0)

#define power_all_disable() \
do{ \
    PRR0 |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRTWI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTIM2)|(1<<PRUSART0)); \
    PRR1 |= (uint8_t)((1<<PRTIM3)|(1<<PRTIM4)|(1<<PRTIM5)|(1<<PRTIM5)|(1<<PRUSART1)|(1<<PRUSART2)|(1<<PRUSART3)); \
}while(0)


#elif defined(__AVR_AT90USB646__) \
|| defined(__AVR_AT90USB647__) \
|| defined(__AVR_AT90USB1286__) \
|| defined(__AVR_AT90USB1287__)

#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_twi_enable()      (PRR0 &= (uint8_t)~(1 << PRTWI))
#define power_twi_disable()     (PRR0 |= (uint8_t)(1 << PRTWI))

#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_timer3_enable()   (PRR1 &= (uint8_t)~(1 << PRTIM3))
#define power_timer3_disable()  (PRR1 |= (uint8_t)(1 << PRTIM3))

#define power_usart1_enable()   (PRR1 &= (uint8_t)~(1 << PRUSART1))
#define power_usart1_disable()  (PRR1 |= (uint8_t)(1 << PRUSART1))

#define power_usb_enable()      (PRR1 &= (uint8_t)~(1 << PRUSB))
#define power_usb_disable()     (PRR1 |= (uint8_t)(1 << PRUSB))

#define power_all_enable() \
do{ \
    PRR0 &= (uint8_t)~((1<<PRADC)|(1<<PRSPI)|(1<<PRTWI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTIM2)); \
    PRR1 &= (uint8_t)~((1<<PRTIM3)|(1<<PRUSART1)|(1<<PRUSB)); \
}while(0)

#define power_all_disable() \
do{ \
    PRR0 |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRTWI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTIM2)); \
    PRR1 |= (uint8_t)((1<<PRTIM3)|(1<<PRUSART1)|(1<<PRUSB)); \
}while(0)


#elif defined(__AVR_ATmega32U4__)


#define power_adc_enable()      (PRR0 &= (uint8_t)~(1 << PRADC))
#define power_adc_disable()     (PRR0 |= (uint8_t)(1 << PRADC))

#define power_usart0_enable()   (PRR0 &= (uint8_t)~(1 << PRUSART0))
#define power_usart0_disable()  (PRR0 |= (uint8_t)(1 << PRUSART0))

#define power_spi_enable()      (PRR0 &= (uint8_t)~(1 << PRSPI))
#define power_spi_disable()     (PRR0 |= (uint8_t)(1 << PRSPI))

#define power_twi_enable()      (PRR0 &= (uint8_t)~(1 << PRTWI))
#define power_twi_disable()     (PRR0 |= (uint8_t)(1 << PRTWI))

#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_timer3_enable()   (PRR1 &= (uint8_t)~(1 << PRTIM3))
#define power_timer3_disable()  (PRR1 |= (uint8_t)(1 << PRTIM3))

#define power_usart1_enable()   (PRR1 &= (uint8_t)~(1 << PRUSART1))
#define power_usart1_disable()  (PRR1 |= (uint8_t)(1 << PRUSART1))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -