33 #define _AVR_POWER_H_ 1 546 #if defined(__AVR_HAVE_PRR_PRADC) 547 #define power_adc_enable() (PRR &= (uint8_t)~(1 << PRADC)) 548 #define power_adc_disable() (PRR |= (uint8_t)(1 << PRADC)) 551 #if defined(__AVR_HAVE_PRR_PRCAN) 552 #define power_can_enable() (PRR &= (uint8_t)~(1 << PRCAN)) 553 #define power_can_disable() (PRR |= (uint8_t)(1 << PRCAN)) 556 #if defined(__AVR_HAVE_PRR_PRLCD) 557 #define power_lcd_enable() (PRR &= (uint8_t)~(1 << PRLCD)) 558 #define power_lcd_disable() (PRR |= (uint8_t)(1 << PRLCD)) 561 #if defined(__AVR_HAVE_PRR_PRLIN) 562 #define power_lin_enable() (PRR &= (uint8_t)~(1 << PRLIN)) 563 #define power_lin_disable() (PRR |= (uint8_t)(1 << PRLIN)) 566 #if defined(__AVR_HAVE_PRR_PRPSC) 567 #define power_psc_enable() (PRR &= (uint8_t)~(1 << PRPSC)) 568 #define power_psc_disable() (PRR |= (uint8_t)(1 << PRPSC)) 571 #if defined(__AVR_HAVE_PRR_PRPSC0) 572 #define power_psc0_enable() (PRR &= (uint8_t)~(1 << PRPSC0)) 573 #define power_psc0_disable() (PRR |= (uint8_t)(1 << PRPSC0)) 576 #if defined(__AVR_HAVE_PRR_PRPSC1) 577 #define power_psc1_enable() (PRR &= (uint8_t)~(1 << PRPSC1)) 578 #define power_psc1_disable() (PRR |= (uint8_t)(1 << PRPSC1)) 581 #if defined(__AVR_HAVE_PRR_PRPSC2) 582 #define power_psc2_enable() (PRR &= (uint8_t)~(1 << PRPSC2)) 583 #define power_psc2_disable() (PRR |= (uint8_t)(1 << PRPSC2)) 586 #if defined(__AVR_HAVE_PRR_PRSCR) 587 #define power_pscr_enable() (PRR &= (uint8_t)~(1 << PRPSCR)) 588 #define power_pscr_disable() (PRR |= (uint8_t)(1 << PRPSCR)) 591 #if defined(__AVR_HAVE_PRR_PRSPI) 592 #define power_spi_enable() (PRR &= (uint8_t)~(1 << PRSPI)) 593 #define power_spi_disable() (PRR |= (uint8_t)(1 << PRSPI)) 596 #if defined(__AVR_HAVE_PRR_PRTIM0) 597 #define power_timer0_enable() (PRR &= (uint8_t)~(1 << PRTIM0)) 598 #define power_timer0_disable() (PRR |= (uint8_t)(1 << PRTIM0)) 601 #if defined(__AVR_HAVE_PRR_PRTIM1) 602 #define power_timer1_enable() (PRR &= (uint8_t)~(1 << PRTIM1)) 603 #define power_timer1_disable() (PRR |= (uint8_t)(1 << PRTIM1)) 606 #if defined(__AVR_HAVE_PRR_PRTIM2) 607 #define power_timer2_enable() (PRR &= (uint8_t)~(1 << PRTIM2)) 608 #define power_timer2_disable() (PRR |= (uint8_t)(1 << PRTIM2)) 611 #if defined(__AVR_HAVE_PRR_PRTWI) 612 #define power_twi_enable() (PRR &= (uint8_t)~(1 << PRTWI)) 613 #define power_twi_disable() (PRR |= (uint8_t)(1 << PRTWI)) 616 #if defined(__AVR_HAVE_PRR_PRUSART) 617 #define power_usart_enable() (PRR &= (uint8_t)~(1 << PRUSART)) 618 #define power_usart_disable() (PRR |= (uint8_t)(1 << PRUSART)) 621 #if defined(__AVR_HAVE_PRR_PRUSART0) 622 #define power_usart0_enable() (PRR &= (uint8_t)~(1 << PRUSART0)) 623 #define power_usart0_disable() (PRR |= (uint8_t)(1 << PRUSART0)) 626 #if defined(__AVR_HAVE_PRR_PRUSART1) 627 #define power_usart1_enable() (PRR &= (uint8_t)~(1 << PRUSART1)) 628 #define power_usart1_disable() (PRR |= (uint8_t)(1 << PRUSART1)) 631 #if defined(__AVR_HAVE_PRR_PRUSI) 632 #define power_usi_enable() (PRR &= (uint8_t)~(1 << PRUSI)) 633 #define power_usi_disable() (PRR |= (uint8_t)(1 << PRUSI)) 636 #if defined(__AVR_HAVE_PRR0_PRADC) 637 #define power_adc_enable() (PRR0 &= (uint8_t)~(1 << PRADC)) 638 #define power_adc_disable() (PRR0 |= (uint8_t)(1 << PRADC)) 641 #if defined(__AVR_HAVE_PRR0_PRC0) 642 #define power_clock_output_enable() (PRR0 &= (uint8_t)~(1 << PRCO)) 643 #define power_clock_output_disable() (PRR0 |= (uint8_t)(1 << PRCO)) 646 #if defined(__AVR_HAVE_PRR0_PRCRC) 647 #define power_crc_enable() (PRR0 &= (uint8_t)~(1 << PRCRC)) 648 #define power_crc_disable() (PRR0 |= (uint8_t)(1 << PRCRC)) 651 #if defined(__AVR_HAVE_PRR0_PRCU) 652 #define power_crypto_enable() (PRR0 &= (uint8_t)~(1 << PRCU)) 653 #define power_crypto_disable() (PRR0 |= (uint8_t)(1 << PRCU)) 656 #if defined(__AVR_HAVE_PRR0_PRDS) 657 #define power_irdriver_enable() (PRR0 &= (uint8_t)~(1 << PRDS)) 658 #define power_irdriver_disable() (PRR0 |= (uint8_t)(1 << PRDS)) 661 #if defined(__AVR_HAVE_PRR0_PRLFR) 662 #define power_lfreceiver_enable() (PRR0 &= (uint8_t)~(1 << PRLFR)) 663 #define power_lfreceiver_disable() (PRR0 |= (uint8_t)(1 << PRLFR)) 666 #if defined(__AVR_HAVE_PRR0_PRLIN) 667 #define power_lin_enable() (PRR0 &= (uint8_t)~(1 << PRLIN)) 668 #define power_lin_disable() (PRR0 |= (uint8_t)(1 << PRLIN)) 671 #if defined(__AVR_HAVE_PRR0_PRPGA) 672 #define power_pga_enable() (PRR0 &= (uint8_t)~(1 << PRPGA)) 673 #define power_pga_disable() (PRR0 |= (uint8_t)(1 << PRPGA)) 676 #if defined(__AVR_HAVE_PRR0_PRRXDC) 677 #define power_receive_dsp_control_enable() (PRR0 &= (uint8_t)~(1 << PRRXDC)) 678 #define power_receive_dsp_control_disable() (PRR0 |= (uint8_t)(1 << PRRXDC)) 681 #if defined(__AVR_HAVE_PRR0_PRSPI) 682 #define power_spi_enable() (PRR0 &= (uint8_t)~(1 << PRSPI)) 683 #define power_spi_disable() (PRR0 |= (uint8_t)(1 << PRSPI)) 686 #if defined(__AVR_HAVE_PRR0_PRT0) 687 #define power_timer0_enable() (PRR0 &= (uint8_t)~(1 << PRT0)) 688 #define power_timer0_disable() (PRR0 |= (uint8_t)(1 << PRT0)) 691 #if defined(__AVR_HAVE_PRR0_PRTIM0) 692 #define power_timer0_enable() (PRR0 &= (uint8_t)~(1 << PRTIM0)) 693 #define power_timer0_disable() (PRR0 |= (uint8_t)(1 << PRTIM0)) 696 #if defined(__AVR_HAVE_PRR0_PRT1) 697 #define power_timer1_enable() (PRR0 &= (uint8_t)~(1 << PRT1)) 698 #define power_timer1_disable() (PRR0 |= (uint8_t)(1 << PRT1)) 701 #if defined(__AVR_HAVE_PRR0_PRTIM1) 702 #define power_timer1_enable() (PRR0 &= (uint8_t)~(1 << PRTIM1)) 703 #define power_timer1_disable() (PRR0 |= (uint8_t)(1 << PRTIM1)) 706 #if defined(__AVR_HAVE_PRR0_PRT2) 707 #define power_timer2_enable() (PRR0 &= (uint8_t)~(1 << PRT2)) 708 #define power_timer2_disable() (PRR0 |= (uint8_t)(1 << PRT2)) 711 #if defined(__AVR_HAVE_PRR0_PRTIM2) 712 #define power_timer2_enable() (PRR0 &= (uint8_t)~(1 << PRTIM2)) 713 #define power_timer2_disable() (PRR0 |= (uint8_t)(1 << PRTIM2)) 716 #if defined(__AVR_HAVE_PRR0_PRT3) 717 #define power_timer3_enable() (PRR0 &= (uint8_t)~(1 << PRT3)) 718 #define power_timer3_disable() (PRR0 |= (uint8_t)(1 << PRT3)) 721 #if defined(__AVR_HAVE_PRR0_PRTM) 722 #define power_timermodulator_enable() (PRR0 &= (uint8_t)~(1 << PRTM)) 723 #define power_timermodulator_disable() (PRR0 |= (uint8_t)(1 << PRTM)) 726 #if defined(__AVR_HAVE_PRR0_PRTWI) 727 #define power_twi_enable() (PRR0 &= (uint8_t)~(1 << PRTWI)) 728 #define power_twi_disable() (PRR0 |= (uint8_t)(1 << PRTWI)) 731 #if defined(__AVR_HAVE_PRR0_PRTXDC) 732 #define power_transmit_dsp_control_enable() (PRR0 &= (uint8_t)~(1 << PRTXDC)) 733 #define power_transmit_dsp_control_disable() (PRR0 |= (uint8_t)(1 << PRTXDC)) 736 #if defined(__AVR_HAVE_PRR0_PRUSART0) 737 #define power_usart0_enable() (PRR0 &= (uint8_t)~(1 << PRUSART0)) 738 #define power_usart0_disable() (PRR0 |= (uint8_t)(1 << PRUSART0)) 741 #if defined(__AVR_HAVE_PRR0_PRUSART1) 742 #define power_usart1_enable() (PRR0 &= (uint8_t)~(1 << PRUSART1)) 743 #define power_usart1_disable() (PRR0 |= (uint8_t)(1 << PRUSART1)) 746 #if defined(__AVR_HAVE_PRR0_PRVADC) 747 #define power_vadc_enable() (PRR0 &= (uint8_t)~(1 << PRVADC)) 748 #define power_vadc_disable() (PRR0 |= (uint8_t)(1 << PRVADC)) 751 #if defined(__AVR_HAVE_PRR0_PRVM) 752 #define power_voltage_monitor_enable() (PRR0 &= (uint8_t)~(1 << PRVM)) 753 #define power_voltage_monitor_disable() (PRR0 |= (uint8_t)(1 << PRVM)) 756 #if defined(__AVR_HAVE_PRR0_PRVRM) 757 #define power_vrm_enable() (PRR0 &= (uint8_t)~(1 << PRVRM)) 758 #define power_vrm_disable() (PRR0 |= (uint8_t)(1 << PRVRM)) 761 #if defined(__AVR_HAVE_PRR1_PRAES) 762 #define power_aes_enable() (PRR1 &= (uint8_t)~(1 << PRAES)) 763 #define power_aes_disable() (PRR1 |= (uint8_t)(1 << PRAES)) 766 #if defined(__AVR_HAVE_PRR1_PRCI) 767 #define power_cinterface_enable() (PRR1 &= (uint8_t)~(1 << PRCI)) 768 #define power_cinterface_disable() (PRR1 |= (uint8_t)(1 << PRCI)) 771 #if defined(__AVR_HAVE_PRR1_PRHSSPI) 772 #define power_hsspi_enable() (PRR1 &= (uint8_t)~(1 << PRHSSPI)) 773 #define power_hsspi_disable() (PRR1 |= (uint8_t)(1 << PRHSSPI)) 776 #if defined(__AVR_HAVE_PRR1_PRKB) 777 #define power_kb_enable() (PRR1 &= (uint8_t)~(1 << PRKB)) 778 #define power_kb_disable() (PRR1 |= (uint8_t)(1 << PRKB)) 781 #if defined(__AVR_HAVE_PRR1_PRLFR) 782 #define power_lfreceiver_enable() (PRR1 &= (uint8_t)~(1 << PRLFR)) 783 #define power_lfreceiver_disable() (PRR1 |= (uint8_t)(1 << PRLFR)) 786 #if defined(__AVR_HAVE_PRR1_PRSCI) 787 #define power_sci_enable() (PRR1 &= (uint8_t)~(1 << PRSCI)) 788 #define power_sci_disable() (PRR1 |= (uint8_t)(1 << PRSCI)) 791 #if defined(__AVR_HAVE_PRR1_PRT1) 792 #define power_timer1_enable() (PRR1 &= (uint8_t)~(1 << PRT1)) 793 #define power_timer1_disable() (PRR1 |= (uint8_t)(1 << PRT1)) 796 #if defined(__AVR_HAVE_PRR1_PRT2) 797 #define power_timer2_enable() (PRR1 &= (uint8_t)~(1 << PRT2)) 798 #define power_timer2_disable() (PRR1 |= (uint8_t)(1 << PRT2)) 801 #if defined(__AVR_HAVE_PRR1_PRT3) 802 #define power_timer3_enable() (PRR1 &= (uint8_t)~(1 << PRT3)) 803 #define power_timer3_disable() (PRR1 |= (uint8_t)(1 << PRT3)) 806 #if defined(__AVR_HAVE_PRR1_PRT4) 807 #define power_timer4_enable() (PRR1 &= (uint8_t)~(1 << PRT4)) 808 #define power_timer4_disable() (PRR1 |= (uint8_t)(1 << PRT4)) 811 #if defined(__AVR_HAVE_PRR1_PRT5) 812 #define power_timer5_enable() (PRR1 &= (uint8_t)~(1 << PRT5)) 813 #define power_timer5_disable() (PRR1 |= (uint8_t)(1 << PRT5)) 816 #if defined(__AVR_HAVE_PRR1_PRTIM3) 817 #define power_timer3_enable() (PRR1 &= (uint8_t)~(1 << PRTIM3)) 818 #define power_timer3_disable() (PRR1 |= (uint8_t)(1 << PRTIM3)) 821 #if defined(__AVR_HAVE_PRR1_PRTIM4) 822 #define power_timer4_enable() (PRR1 &= (uint8_t)~(1 << PRTIM4)) 823 #define power_timer4_disable() (PRR1 |= (uint8_t)(1 << PRTIM4)) 826 #if defined(__AVR_HAVE_PRR1_PRTIM5) 827 #define power_timer5_enable() (PRR1 &= (uint8_t)~(1 << PRTIM5)) 828 #define power_timer5_disable() (PRR1 |= (uint8_t)(1 << PRTIM5)) 831 #if defined(__AVR_HAVE_PRR1_PRTRX24) 832 #define power_transceiver_enable() (PRR1 &= (uint8_t)~(1 << PRTRX24)) 833 #define power_transceiver_disable() (PRR1 |= (uint8_t)(1 << PRTRX24)) 836 #if defined(__AVR_HAVE_PRR1_PRUSART1) 837 #define power_usart1_enable() (PRR1 &= (uint8_t)~(1 << PRUSART1)) 838 #define power_usart1_disable() (PRR1 |= (uint8_t)(1 << PRUSART1)) 841 #if defined(__AVR_HAVE_PRR1_PRUSART2) 842 #define power_usart2_enable() (PRR1 &= (uint8_t)~(1 << PRUSART2)) 843 #define power_usart2_disable() (PRR1 |= (uint8_t)(1 << PRUSART2)) 846 #if defined(__AVR_HAVE_PRR1_PRUSB) 847 #define power_usb_enable() (PRR1 &= (uint8_t)~(1 << PRUSB)) 848 #define power_usb_disable() (PRR1 |= (uint8_t)(1 << PRUSB)) 851 #if defined(__AVR_HAVE_PRR1_PRUSBH) 852 #define power_usbh_enable() (PRR1 &= (uint8_t)~(1 << PRUSBH)) 853 #define power_usbh_disable() (PRR1 |= (uint8_t)(1 << PRUSBH)) 856 #if defined(__AVR_HAVE_PRR2_PRDF) 857 #define power_data_fifo_enable() (PRR2 &= (uint8_t)~(1 << PRDF)) 858 #define power_data_fifo_disable() (PRR2 |= (uint8_t)(1 << PRDF)) 861 #if defined(__AVR_HAVE_PRR2_PRIDS) 862 #define power_id_scan_enable() (PRR2 &= (uint8_t)~(1 << PRIDS)) 863 #define power_id_scan_disable() (PRR2 |= (uint8_t)(1 << PRIDS)) 866 #if defined(__AVR_HAVE_PRR2_PRRAM0) 867 #define power_ram0_enable() (PRR2 &= (uint8_t)~(1 << PRRAM0)) 868 #define power_ram0_disable() (PRR2 |= (uint8_t)(1 << PRRAM0)) 871 #if defined(__AVR_HAVE_PRR2_PRRAM1) 872 #define power_ram1_enable() (PRR2 &= (uint8_t)~(1 << PRRAM1)) 873 #define power_ram1_disable() (PRR2 |= (uint8_t)(1 << PRRAM1)) 876 #if defined(__AVR_HAVE_PRR2_PRRAM2) 877 #define power_ram2_enable() (PRR2 &= (uint8_t)~(1 << PRRAM2)) 878 #define power_ram2_disable() (PRR2 |= (uint8_t)(1 << PRRAM2)) 881 #if defined(__AVR_HAVE_PRR2_PRRAM3) 882 #define power_ram3_enable() (PRR2 &= (uint8_t)~(1 << PRRAM3)) 883 #define power_ram3_disable() (PRR2 |= (uint8_t)(1 << PRRAM3)) 886 #if defined(__AVR_HAVE_PRR2_PRRS) 887 #define power_rssi_buffer_enable() (PRR2 &= (uint8_t)~(1 << PRRS)) 888 #define power_rssi_buffer_disable() (PRR2 |= (uint8_t)(1 << PRRS)) 891 #if defined(__AVR_HAVE_PRR2_PRSF) 892 #define power_preamble_rssi_fifo_enable() (PRR2 &= (uint8_t)~(1 << PRSF)) 893 #define power_preamble_rssi_fifo_disable() (PRR2 |= (uint8_t)(1 << PRSF)) 896 #if defined(__AVR_HAVE_PRR2_PRSSM) 897 #define power_sequencer_state_machine_enable() (PRR2 &= (uint8_t)~(1 << PRSSM)) 898 #define power_sequencer_state_machine_disable() (PRR2 |= (uint8_t)(1 << PRSSM)) 901 #if defined(__AVR_HAVE_PRR2_PRTM) 902 #define power_tx_modulator_enable() (PRR2 &= (uint8_t)~(1 << PRTM)) 903 #define power_tx_modulator_disable() (PRR2 |= (uint8_t)(1 << PRTM)) 906 #if defined(__AVR_HAVE_PRR2_PRXA) 907 #define power_rx_buffer_A_enable() (PRR2 &= (uint8_t)~(1 << PRXA)) 908 #define power_rx_buffer_A_disable() (PRR2 |= (uint8_t)(1 << PRXA)) 911 #if defined(__AVR_HAVE_PRR2_PRXB) 912 #define power_rx_buffer_B_enable() (PRR2 &= (uint8_t)~(1 << PRXB)) 913 #define power_rx_buffer_B_disable() (PRR2 |= (uint8_t)(1 << PRXB)) 916 #if defined(__AVR_HAVE_PRGEN_AES) 917 #define power_aes_enable() (PR_PRGEN &= (uint8_t)~(PR_AES_bm)) 918 #define power_aes_disable() (PR_PRGEN |= (uint8_t)PR_AES_bm) 921 #if defined(__AVR_HAVE_PRGEN_DMA) 922 #define power_dma_enable() (PR_PRGEN &= (uint8_t)~(PR_DMA_bm)) 923 #define power_dma_disable() (PR_PRGEN |= (uint8_t)PR_DMA_bm) 926 #if defined(__AVR_HAVE_PRGEN_EBI) 927 #define power_ebi_enable() (PR_PRGEN &= (uint8_t)~(PR_EBI_bm)) 928 #define power_ebi_disable() (PR_PRGEN |= (uint8_t)PR_EBI_bm) 931 #if defined(__AVR_HAVE_PRGEN_EDMA) 932 #define power_edma_enable() (PR_PRGEN &= (uint8_t)~(PR_EDMA_bm)) 933 #define power_edma_disable() (PR_PRGEN |= (uint8_t)PR_EDMA_bm) 936 #if defined(__AVR_HAVE_PRGEN_EVSYS) 937 #define power_evsys_enable() (PR_PRGEN &= (uint8_t)~(PR_EVSYS_bm)) 938 #define power_evsys_disable() (PR_PRGEN |= (uint8_t)PR_EVSYS_bm) 941 #if defined(__AVR_HAVE_PRGEN_LCD) 942 #define power_lcd_enable() (PR_PRGEN &= (uint8_t)~(PR_LCD_bm)) 943 #define power_lcd_disable() (PR_PRGEN |= (uint8_t)PR_LCD_bm) 946 #if defined(__AVR_HAVE_PRGEN_RTC) 947 #define power_rtc_enable() (PR_PRGEN &= (uint8_t)~(PR_RTC_bm)) 948 #define power_rtc_disable() (PR_PRGEN |= (uint8_t)PR_RTC_bm) 951 #if defined(__AVR_HAVE_PRGEN_USB) 952 #define power_usb_enable() (PR_PRGEN &= (uint8_t)~(PR_USB_bm)) 953 #define power_usb_disable() (PR_PRGEN &= (uint8_t)(PR_USB_bm)) 956 #if defined(__AVR_HAVE_PRGEN_XCL) 957 #define power_xcl_enable() (PR_PRGEN &= (uint8_t)~(PR_XCL_bm)) 958 #define power_xcl_disable() (PR_PRGEN |= (uint8_t)PR_XCL_bm) 961 #if defined(__AVR_HAVE_PRPA_AC) 962 #define power_aca_enable() (PR_PRPA &= (uint8_t)~(PR_AC_bm)) 963 #define power_aca_disable() (PR_PRPA |= (uint8_t)PR_AC_bm) 966 #if defined(__AVR_HAVE_PRPA_ADC) 967 #define power_adca_enable() (PR_PRPA &= (uint8_t)~(PR_ADC_bm)) 968 #define power_adca_disable() (PR_PRPA |= (uint8_t)PR_ADC_bm) 971 #if defined(__AVR_HAVE_PRPA_DAC) 972 #define power_daca_enable() (PR_PRPA &= (uint8_t)~(PR_DAC_bm)) 973 #define power_daca_disable() (PR_PRPA |= (uint8_t)PR_DAC_bm) 976 #if defined(__AVR_HAVE_PRPB_AC) 977 #define power_acb_enable() (PR_PRPB &= (uint8_t)~(PR_AC_bm)) 978 #define power_acb_disable() (PR_PRPB |= (uint8_t)PR_AC_bm) 981 #if defined(__AVR_HAVE_PRPB_ADC) 982 #define power_adcb_enable() (PR_PRPB &= (uint8_t)~(PR_ADC_bm)) 983 #define power_adcb_disable() (PR_PRPB |= (uint8_t)PR_ADC_bm) 986 #if defined(__AVR_HAVE_PRPB_DAC) 987 #define power_dacb_enable() (PR_PRPB &= (uint8_t)~(PR_DAC_bm)) 988 #define power_dacb_disable() (PR_PRPB |= (uint8_t)PR_DAC_bm) 991 #if defined(__AVR_HAVE_PRPC_HIRES) 992 #define power_hiresc_enable() (PR_PRPC &= (uint8_t)~(PR_HIRES_bm)) 993 #define power_hiresc_disable() (PR_PRPC |= (uint8_t)PR_HIRES_bm) 996 #if defined(__AVR_HAVE_PRPC_SPI) 997 #define power_spic_enable() (PR_PRPC &= (uint8_t)~(PR_SPI_bm)) 998 #define power_spic_disable() (PR_PRPC |= (uint8_t)PR_SPI_bm) 1001 #if defined(__AVR_HAVE_PRPC_TC0) 1002 #define power_tc0c_enable() (PR_PRPC &= (uint8_t)~(PR_TC0_bm)) 1003 #define power_tc0c_disable() (PR_PRPC |= (uint8_t)PR_TC0_bm) 1006 #if defined(__AVR_HAVE_PRPC_TC1) 1007 #define power_tc1c_enable() (PR_PRPC &= (uint8_t)~(PR_TC1_bm)) 1008 #define power_tc1c_disable() (PR_PRPC |= (uint8_t)PR_TC1_bm) 1011 #if defined(__AVR_HAVE_PRPC_TC4) 1012 #define power_tc4c_enable() (PR_PRPC &= (uint8_t)~(PR_TC4_bm)) 1013 #define power_tc4c_disable() (PR_PRPC |= (uint8_t)PR_TC4_bm) 1016 #if defined(__AVR_HAVE_PRPC_TC5) 1017 #define power_tc5c_enable() (PR_PRPC &= (uint8_t)~(PR_TC5_bm)) 1018 #define power_tc5c_disable() (PR_PRPC |= (uint8_t)PR_TC5_bm) 1021 #if defined(__AVR_HAVE_PRPC_TWI) 1022 #define power_twic_enable() (PR_PRPC &= (uint8_t)~(PR_TWI_bm)) 1023 #define power_twic_disable() (PR_PRPC |= (uint8_t)PR_TWI_bm) 1026 #if defined(__AVR_HAVE_PRPC_USART0) 1027 #define power_usartc0_enable() (PR_PRPC &= (uint8_t)~(PR_USART0_bm)) 1028 #define power_usartc0_disable() (PR_PRPC |= (uint8_t)PR_USART0_bm) 1031 #if defined(__AVR_HAVE_PRPC_USART1) 1032 #define power_usartc1_enable() (PR_PRPC &= (uint8_t)~(PR_USART1_bm)) 1033 #define power_usartc1_disable() (PR_PRPC |= (uint8_t)PR_USART1_bm) 1036 #if defined(__AVR_HAVE_PRPD_HIRES) 1037 #define power_hiresd_enable() (PR_PRPD &= (uint8_t)~(PR_HIRES_bm)) 1038 #define power_hiresd_disable() (PR_PRPD |= (uint8_t)PR_HIRES_bm) 1041 #if defined(__AVR_HAVE_PRPD_SPI) 1042 #define power_spid_enable() (PR_PRPD &= (uint8_t)~(PR_SPI_bm)) 1043 #define power_spid_disable() (PR_PRPD |= (uint8_t)PR_SPI_bm) 1046 #if defined(__AVR_HAVE_PRPD_TC0) 1047 #define power_tc0d_enable() (PR_PRPD &= (uint8_t)~(PR_TC0_bm)) 1048 #define power_tc0d_disable() (PR_PRPD |= (uint8_t)PR_TC0_bm) 1051 #if defined(__AVR_HAVE_PRPD_TC1) 1052 #define power_tc1d_enable() (PR_PRPD &= (uint8_t)~(PR_TC1_bm)) 1053 #define power_tc1d_disable() (PR_PRPD |= (uint8_t)PR_TC1_bm) 1056 #if defined(__AVR_HAVE_PRPD_TC5) 1057 #define power_tc5d_enable() (PR_PRPD &= (uint8_t)~(PR_TC5_bm)) 1058 #define power_tc5d_disable() (PR_PRPD |= (uint8_t)PR_TC5_bm) 1061 #if defined(__AVR_HAVE_PRPD_TWI) 1062 #define power_twid_enable() (PR_PRPD &= (uint8_t)~(PR_TWI_bm)) 1063 #define power_twid_disable() (PR_PRPD |= (uint8_t)PR_TWI_bm) 1066 #if defined(__AVR_HAVE_PRPD_USART0) 1067 #define power_usartd0_enable() (PR_PRPD &= (uint8_t)~(PR_USART0_bm)) 1068 #define power_usartd0_disable() (PR_PRPD |= (uint8_t)PR_USART0_bm) 1071 #if defined(__AVR_HAVE_PRPD_USART1) 1072 #define power_usartd1_enable() (PR_PRPD &= (uint8_t)~(PR_USART1_bm)) 1073 #define power_usartd1_disable() (PR_PRPD |= (uint8_t)PR_USART1_bm) 1076 #if defined(__AVR_HAVE_PRPE_HIRES) 1077 #define power_hirese_enable() (PR_PRPE &= (uint8_t)~(PR_HIRES_bm)) 1078 #define power_hirese_disable() (PR_PRPE |= (uint8_t)PR_HIRES_bm) 1081 #if defined(__AVR_HAVE_PRPE_SPI) 1082 #define power_spie_enable() (PR_PRPE &= (uint8_t)~(PR_SPI_bm)) 1083 #define power_spie_disable() (PR_PRPE |= (uint8_t)PR_SPI_bm) 1086 #if defined(__AVR_HAVE_PRPE_TC0) 1087 #define power_tc0e_enable() (PR_PRPE &= (uint8_t)~(PR_TC0_bm)) 1088 #define power_tc0e_disable() (PR_PRPE |= (uint8_t)PR_TC0_bm) 1091 #if defined(__AVR_HAVE_PRPE_TC1) 1092 #define power_tc1e_enable() (PR_PRPE &= (uint8_t)~(PR_TC1_bm)) 1093 #define power_tc1e_disable() (PR_PRPE |= (uint8_t)PR_TC1_bm) 1096 #if defined(__AVR_HAVE_PRPE_TWI) 1097 #define power_twie_enable() (PR_PRPE &= (uint8_t)~(PR_TWI_bm)) 1098 #define power_twie_disable() (PR_PRPE |= (uint8_t)PR_TWI_bm) 1101 #if defined(__AVR_HAVE_PRPE_USART0) 1102 #define power_usarte0_enable() (PR_PRPE &= (uint8_t)~(PR_USART0_bm)) 1103 #define power_usarte0_disable() (PR_PRPE |= (uint8_t)PR_USART0_bm) 1106 #if defined(__AVR_HAVE_PRPE_USART1) 1107 #define power_usarte1_enable() (PR_PRPE &= (uint8_t)~(PR_USART1_bm)) 1108 #define power_usarte1_disable() (PR_PRPE |= (uint8_t)PR_USART1_bm) 1111 #if defined(__AVR_HAVE_PRPF_HIRES) 1112 #define power_hiresf_enable() (PR_PRPF &= (uint8_t)~(PR_HIRES_bm)) 1113 #define power_hiresf_disable() (PR_PRPF |= (uint8_t)PR_HIRES_bm) 1116 #if defined(__AVR_HAVE_PRPF_SPI) 1117 #define power_spif_enable() (PR_PRPF &= (uint8_t)~(PR_SPI_bm)) 1118 #define power_spif_disable() (PR_PRPF |= (uint8_t)PR_SPI_bm) 1121 #if defined(__AVR_HAVE_PRPF_TC0) 1122 #define power_tc0f_enable() (PR_PRPF &= (uint8_t)~(PR_TC0_bm)) 1123 #define power_tc0f_disable() (PR_PRPF |= (uint8_t)PR_TC0_bm) 1126 #if defined(__AVR_HAVE_PRPF_TC1) 1127 #define power_tc1f_enable() (PR_PRPF &= (uint8_t)~(PR_TC1_bm)) 1128 #define power_tc1f_disable() (PR_PRPF |= (uint8_t)PR_TC1_bm) 1131 #if defined(__AVR_HAVE_PRPF_TWI) 1132 #define power_twif_enable() (PR_PRPF &= (uint8_t)~(PR_TWI_bm)) 1133 #define power_twif_disable() (PR_PRPF |= (uint8_t)PR_TWI_bm) 1136 #if defined(__AVR_HAVE_PRPF_USART0) 1137 #define power_usartf0_enable() (PR_PRPF &= (uint8_t)~(PR_USART0_bm)) 1138 #define power_usartf0_disable() (PR_PRPF |= (uint8_t)PR_USART0_bm) 1141 #if defined(__AVR_HAVE_PRPF_USART1) 1142 #define power_usartf1_enable() (PR_PRPF &= (uint8_t)~(PR_USART1_bm)) 1143 #define power_usartf1_disable() (PR_PRPF |= (uint8_t)PR_USART1_bm) 1147 static __inline
void 1149 __power_all_enable()
1151 #ifdef __AVR_HAVE_PRR 1152 PRR &= (
uint8_t)~(__AVR_HAVE_PRR);
1155 #ifdef __AVR_HAVE_PRR0 1156 PRR0 &= (
uint8_t)~(__AVR_HAVE_PRR0);
1159 #ifdef __AVR_HAVE_PRR1 1160 PRR1 &= (
uint8_t)~(__AVR_HAVE_PRR1);
1163 #ifdef __AVR_HAVE_PRR2 1164 PRR2 &= (
uint8_t)~(__AVR_HAVE_PRR2);
1167 #ifdef __AVR_HAVE_PRGEN 1168 PR_PRGEN &= (
uint8_t)~(__AVR_HAVE_PRGEN);
1171 #ifdef __AVR_HAVE_PRPA 1172 PR_PRPA &= (
uint8_t)~(__AVR_HAVE_PRPA);
1175 #ifdef __AVR_HAVE_PRPB 1176 PR_PRPB &= (
uint8_t)~(__AVR_HAVE_PRPB);
1179 #ifdef __AVR_HAVE_PRPC 1180 PR_PRPC &= (
uint8_t)~(__AVR_HAVE_PRPC);
1183 #ifdef __AVR_HAVE_PRPD 1184 PR_PRPD &= (
uint8_t)~(__AVR_HAVE_PRPD);
1187 #ifdef __AVR_HAVE_PRPE 1188 PR_PRPE &= (
uint8_t)~(__AVR_HAVE_PRPE);
1191 #ifdef __AVR_HAVE_PRPF 1192 PR_PRPF &= (
uint8_t)~(__AVR_HAVE_PRPF);
1196 static __inline
void 1198 __power_all_disable()
1200 #ifdef __AVR_HAVE_PRR 1201 PRR |= (
uint8_t)(__AVR_HAVE_PRR);
1204 #ifdef __AVR_HAVE_PRR0 1205 PRR0 |= (
uint8_t)(__AVR_HAVE_PRR0);
1208 #ifdef __AVR_HAVE_PRR1 1209 PRR1 |= (
uint8_t)(__AVR_HAVE_PRR1);
1212 #ifdef __AVR_HAVE_PRR2 1213 PRR2 |= (
uint8_t)(__AVR_HAVE_PRR2);
1216 #ifdef __AVR_HAVE_PRGEN 1217 PR_PRGEN |= (
uint8_t)(__AVR_HAVE_PRGEN);
1220 #ifdef __AVR_HAVE_PRPA 1221 PR_PRPA |= (
uint8_t)(__AVR_HAVE_PRPA);
1224 #ifdef __AVR_HAVE_PRPB 1225 PR_PRPB |= (
uint8_t)(__AVR_HAVE_PRPB);
1228 #ifdef __AVR_HAVE_PRPC 1229 PR_PRPC |= (
uint8_t)(__AVR_HAVE_PRPC);
1232 #ifdef __AVR_HAVE_PRPD 1233 PR_PRPD |= (
uint8_t)(__AVR_HAVE_PRPD);
1236 #ifdef __AVR_HAVE_PRPE 1237 PR_PRPE |= (
uint8_t)(__AVR_HAVE_PRPE);
1240 #ifdef __AVR_HAVE_PRPF 1241 PR_PRPF |= (
uint8_t)(__AVR_HAVE_PRPF);
1245 #ifndef power_all_enable 1246 #define power_all_enable() __power_all_enable() 1249 #ifndef power_all_disable 1250 #define power_all_disable() __power_all_disable() 1253 #if defined(__AVR_AT90CAN32__) \ 1254 || defined(__AVR_AT90CAN64__) \ 1255 || defined(__AVR_AT90CAN128__) \ 1256 || defined(__AVR_AT90PWM1__) \ 1257 || defined(__AVR_AT90PWM2__) \ 1258 || defined(__AVR_AT90PWM2B__) \ 1259 || defined(__AVR_AT90PWM3__) \ 1260 || defined(__AVR_AT90PWM3B__) \ 1261 || defined(__AVR_AT90PWM81__) \ 1262 || defined(__AVR_AT90PWM161__) \ 1263 || defined(__AVR_AT90PWM216__) \ 1264 || defined(__AVR_AT90PWM316__) \ 1265 || defined(__AVR_AT90SCR100__) \ 1266 || defined(__AVR_AT90USB646__) \ 1267 || defined(__AVR_AT90USB647__) \ 1268 || defined(__AVR_AT90USB82__) \ 1269 || defined(__AVR_AT90USB1286__) \ 1270 || defined(__AVR_AT90USB1287__) \ 1271 || defined(__AVR_AT90USB162__) \ 1272 || defined(__AVR_ATA5505__) \ 1273 || defined(__AVR_ATA5272__) \ 1274 || defined(__AVR_ATA6617C__) \ 1275 || defined(__AVR_ATA664251__) \ 1276 || defined(__AVR_ATmega1280__) \ 1277 || defined(__AVR_ATmega1281__) \ 1278 || defined(__AVR_ATmega1284__) \ 1279 || defined(__AVR_ATmega128RFA1__) \ 1280 || defined(__AVR_ATmega128RFR2__) \ 1281 || defined(__AVR_ATmega1284RFR2__) \ 1282 || defined(__AVR_ATmega1284P__) \ 1283 || defined(__AVR_ATmega162__) \ 1284 || defined(__AVR_ATmega164A__) \ 1285 || defined(__AVR_ATmega164P__) \ 1286 || defined(__AVR_ATmega164PA__) \ 1287 || defined(__AVR_ATmega165__) \ 1288 || defined(__AVR_ATmega165A__) \ 1289 || defined(__AVR_ATmega165P__) \ 1290 || defined(__AVR_ATmega165PA__) \ 1291 || defined(__AVR_ATmega168__) \ 1292 || defined(__AVR_ATmega168A__) \ 1293 || defined(__AVR_ATmega168P__) \ 1294 || defined(__AVR_ATmega168PA__) \ 1295 || defined(__AVR_ATmega168PB__) \ 1296 || defined(__AVR_ATmega169__) \ 1297 || defined(__AVR_ATmega169A__) \ 1298 || defined(__AVR_ATmega169P__) \ 1299 || defined(__AVR_ATmega169PA__) \ 1300 || defined(__AVR_ATmega16M1__) \ 1301 || defined(__AVR_ATmega16U2__) \ 1302 || defined(__AVR_ATmega324PA__) \ 1303 || defined(__AVR_ATmega16U4__) \ 1304 || defined(__AVR_ATmega2560__) \ 1305 || defined(__AVR_ATmega2561__) \ 1306 || defined(__AVR_ATmega256RFR2__) \ 1307 || defined(__AVR_ATmega2564RFR2__) \ 1308 || defined(__AVR_ATmega324A__) \ 1309 || defined(__AVR_ATmega324P__) \ 1310 || defined(__AVR_ATmega325__) \ 1311 || defined(__AVR_ATmega325A__) \ 1312 || defined(__AVR_ATmega325P__) \ 1313 || defined(__AVR_ATmega325PA__) \ 1314 || defined(__AVR_ATmega3250__) \ 1315 || defined(__AVR_ATmega3250A__) \ 1316 || defined(__AVR_ATmega3250P__) \ 1317 || defined(__AVR_ATmega3250PA__) \ 1318 || defined(__AVR_ATmega328__) \ 1319 || defined(__AVR_ATmega328P__) \ 1320 || defined(__AVR_ATmega329__) \ 1321 || defined(__AVR_ATmega329A__) \ 1322 || defined(__AVR_ATmega329P__) \ 1323 || defined(__AVR_ATmega329PA__) \ 1324 || defined(__AVR_ATmega3290__) \ 1325 || defined(__AVR_ATmega3290A__) \ 1326 || defined(__AVR_ATmega3290P__) \ 1327 || defined(__AVR_ATmega3290PA__) \ 1328 || defined(__AVR_ATmega32C1__) \ 1329 || defined(__AVR_ATmega32M1__) \ 1330 || defined(__AVR_ATmega32U2__) \ 1331 || defined(__AVR_ATmega32U4__) \ 1332 || defined(__AVR_ATmega32U6__) \ 1333 || defined(__AVR_ATmega48__) \ 1334 || defined(__AVR_ATmega48A__) \ 1335 || defined(__AVR_ATmega48PA__) \ 1336 || defined(__AVR_ATmega48PB__) \ 1337 || defined(__AVR_ATmega48P__) \ 1338 || defined(__AVR_ATmega640__) \ 1339 || defined(__AVR_ATmega649P__) \ 1340 || defined(__AVR_ATmega644__) \ 1341 || defined(__AVR_ATmega644A__) \ 1342 || defined(__AVR_ATmega644P__) \ 1343 || defined(__AVR_ATmega644PA__) \ 1344 || defined(__AVR_ATmega645__) \ 1345 || defined(__AVR_ATmega645A__) \ 1346 || defined(__AVR_ATmega645P__) \ 1347 || defined(__AVR_ATmega6450__) \ 1348 || defined(__AVR_ATmega6450A__) \ 1349 || defined(__AVR_ATmega6450P__) \ 1350 || defined(__AVR_ATmega649__) \ 1351 || defined(__AVR_ATmega649A__) \ 1352 || defined(__AVR_ATmega64M1__) \ 1353 || defined(__AVR_ATmega64C1__) \ 1354 || defined(__AVR_ATmega88A__) \ 1355 || defined(__AVR_ATmega88PA__) \ 1356 || defined(__AVR_ATmega88PB__) \ 1357 || defined(__AVR_ATmega6490__) \ 1358 || defined(__AVR_ATmega6490A__) \ 1359 || defined(__AVR_ATmega6490P__) \ 1360 || defined(__AVR_ATmega64RFR2__) \ 1361 || defined(__AVR_ATmega644RFR2__) \ 1362 || defined(__AVR_ATmega88__) \ 1363 || defined(__AVR_ATmega88P__) \ 1364 || defined(__AVR_ATmega8U2__) \ 1365 || defined(__AVR_ATmega16U2__) \ 1366 || defined(__AVR_ATmega32U2__) \ 1367 || defined(__AVR_ATtiny48__) \ 1368 || defined(__AVR_ATtiny88__) \ 1369 || defined(__AVR_ATtiny87__) \ 1370 || defined(__AVR_ATtiny167__) \ 1371 || defined(__DOXYGEN__) 1438 #if defined(__AVR_ATmega128RFA1__) \ 1439 || defined(__AVR_ATmega256RFR2__) \ 1440 || defined(__AVR_ATmega2564RFR2__) \ 1441 || defined(__AVR_ATmega128RFR2__) \ 1442 || defined(__AVR_ATmega1284RFR2__) \ 1443 || defined(__AVR_ATmega64RFR2__) \ 1444 || defined(__AVR_ATmega644RFR2__) 1445 , clock_div_1_rc = 15
1450 static __inline__
void clock_prescale_set(clock_div_t)
__attribute__((__always_inline__));
1464 void clock_prescale_set(clock_div_t __x)
1467 __asm__ __volatile__ (
1468 "in __tmp_reg__,__SREG__" "\n\t" 1472 "out __SREG__, __tmp_reg__" 1475 "M" (_SFR_MEM_ADDR(CLKPR)),
1489 #define clock_prescale_get() (clock_div_t)(CLKPR & (uint8_t)((1<<CLKPS0)|(1<<CLKPS1)|(1<<CLKPS2)|(1<<CLKPS3))) 1491 #elif defined(__AVR_ATmega16HVB__) \ 1492 || defined(__AVR_ATmega16HVBREVB__) \ 1493 || defined(__AVR_ATmega64HVE__) \ 1494 || defined(__AVR_ATmega32HVB__) \ 1495 || defined(__AVR_ATmega32HVBREVB__) \ 1496 || defined(__AVR_ATmega64HVE2__) 1506 static __inline__
void clock_prescale_set(clock_div_t)
__attribute__((__always_inline__));
1508 void clock_prescale_set(clock_div_t __x)
1511 __asm__ __volatile__ (
1512 "in __tmp_reg__,__SREG__" "\n\t" 1516 "out __SREG__, __tmp_reg__" 1519 "M" (_SFR_MEM_ADDR(CLKPR)),
1524 #define clock_prescale_get() (clock_div_t)(CLKPR & (uint8_t)((1<<CLKPS0)|(1<<CLKPS1))) 1526 #elif defined(__AVR_ATA5790__) \ 1527 || defined (__AVR_ATA5790N__) \ 1528 || defined (__AVR_ATA5791__) \ 1529 || defined (__AVR_ATA5795__) 1543 static __inline__
void system_clock_prescale_set(clock_div_t)
__attribute__((__always_inline__));
1545 void system_clock_prescale_set(clock_div_t __x)
1548 __asm__ __volatile__ (
1549 "in __tmp_reg__,__SREG__" "\n\t" 1553 "out __SREG__, __tmp_reg__" 1556 "I" (_SFR_IO_ADDR(CLKPR)),
1561 #define system_clock_prescale_get() (clock_div_t)(CLKPR & (uint8_t)((1<<CLKPS0)|(1<<CLKPS1)|(1<<CLKPS2))) 1565 timer_clock_div_reset = 0,
1566 timer_clock_div_1 = 1,
1567 timer_clock_div_2 = 2,
1568 timer_clock_div_4 = 3,
1569 timer_clock_div_8 = 4,
1570 timer_clock_div_16 = 5,
1571 timer_clock_div_32 = 6,
1572 timer_clock_div_64 = 7
1573 } timer_clock_div_t;
1575 static __inline__
void timer_clock_prescale_set(timer_clock_div_t)
__attribute__((__always_inline__));
1577 void timer_clock_prescale_set(timer_clock_div_t __x)
1580 __asm__ __volatile__ (
1581 "in __tmp_reg__,__SREG__" "\n\t" 1583 "in %[temp],%[clkpr]" "\n\t" 1584 "out %[clkpr],%[enable]" "\n\t" 1585 "andi %[temp],%[not_CLTPS]" "\n\t" 1586 "or %[temp], %[set_value]" "\n\t" 1587 "out %[clkpr],%[temp]" "\n\t" 1589 "out __SREG__,__tmp_reg__" "\n\t" 1592 [clkpr]
"I" (_SFR_IO_ADDR(CLKPR)),
1593 [enable]
"r" (
_BV(CLKPCE)),
1594 [not_CLTPS]
"M" (0xFF & (~ ((1 << CLTPS2) | (1 << CLTPS1) | (1 << CLTPS0)))),
1595 [set_value]
"r" ((__x & 7) << 3)
1599 #define timer_clock_prescale_get() (timer_clock_div_t)(CLKPR & (uint8_t)((1<<CLTPS0)|(1<<CLTPS1)|(1<<CLTPS2))) 1601 #elif defined(__AVR_ATA6285__) \ 1602 || defined(__AVR_ATA6286__) \ 1603 || defined(__AVR_ATA6289__) \ 1604 || defined(__AVR_ATA5702M322__) \ 1605 || defined(__AVR_ATA5782__) \ 1606 || defined(__AVR_ATA8210__) \ 1607 || defined(__AVR_ATA5831__) \ 1608 || defined(__AVR_ATA8510__) 1622 static __inline__
void system_clock_prescale_set(clock_div_t)
__attribute__((__always_inline__));
1624 void system_clock_prescale_set(clock_div_t __x)
1627 __asm__ __volatile__ (
1628 "in __tmp_reg__,__SREG__" "\n\t" 1630 "in %[temp],%[clpr]" "\n\t" 1631 "out %[clpr],%[enable]" "\n\t" 1632 "andi %[temp],%[not_CLKPS]" "\n\t" 1633 "or %[temp], %[set_value]" "\n\t" 1634 "out %[clpr],%[temp]" "\n\t" 1636 "out __SREG__,__tmp_reg__" "\n\t" 1639 #
if defined(__AVR_ATA6286__) \
1640 || defined(__AVR_ATA6285__) \
1641 || defined(__AVR_ATA6289__)
1642 [clpr]
"I" (_SFR_IO_ADDR(CLKPR)),
1643 #elif defined(__AVR_ATA5831__) \
1644 || defined(__AVR_ATA8510__) \
1645 || defined(__AVR_ATA5702M322__) \
1646 || defined(__AVR_ATA5782__) \
1647 || defined(__AVR_ATA8210__)
1648 [clpr]
"I" (_SFR_IO_ADDR(CLPR)),
1650 [enable]
"r" _BV(CLPCE),
1651 [not_CLKPS]
"M" (0xFF & (~ ((1 << CLKPS2) | (1 << CLKPS1) | (1 << CLKPS0)))),
1652 [set_value]
"r" (__x & 7)
1656 #if defined(__AVR_ATA6286__) \ 1657 || defined(__AVR_ATA6285__) \ 1658 || defined(__AVR_ATA6289__) 1660 #define system_clock_prescale_get() (clock_div_t)(CLKPR & (uint8_t)((1<<CLKPS0)|(1<<CLKPS1)|(1<<CLKPS2))) 1662 #elif defined(__AVR_ATA5831__) \ 1663 || defined(__AVR_ATA8510__) \ 1664 || defined(__AVR_ATA5702M322__) \ 1665 || defined(__AVR_ATA5782__) \ 1666 || defined(__AVR_ATA8210__) 1668 #define system_clock_prescale_get() (clock_div_t)(CLPR & (uint8_t)((1<<CLKPS0)|(1<<CLKPS1)|(1<<CLKPS2))) 1674 timer_clock_div_reset = 0,
1675 timer_clock_div_1 = 1,
1676 timer_clock_div_2 = 2,
1677 timer_clock_div_4 = 3,
1678 timer_clock_div_8 = 4,
1679 timer_clock_div_16 = 5,
1680 timer_clock_div_32 = 6,
1681 timer_clock_div_64 = 7
1682 } timer_clock_div_t;
1684 static __inline__
void timer_clock_prescale_set(timer_clock_div_t)
__attribute__((__always_inline__));
1686 void timer_clock_prescale_set(timer_clock_div_t __x)
1689 __asm__ __volatile__ (
1690 "in __tmp_reg__,__SREG__" "\n\t" 1692 "in %[temp],%[clpr]" "\n\t" 1693 "out %[clpr],%[enable]" "\n\t" 1694 "andi %[temp],%[not_CLTPS]" "\n\t" 1695 "or %[temp], %[set_value]" "\n\t" 1696 "out %[clpr],%[temp]" "\n\t" 1698 "out __SREG__,__tmp_reg__" "\n\t" 1701 #
if defined(__AVR_ATA6286__) \
1702 || defined(__AVR_ATA6285__) \
1703 || defined(__AVR_ATA6289__)
1704 [clpr]
"I" (_SFR_IO_ADDR(CLKPR)),
1705 #elif defined(__AVR_ATA5831__) \
1706 || defined(__AVR_ATA8510__) \
1707 || defined(__AVR_ATA5702M322__) \
1708 || defined(__AVR_ATA5782__) \
1709 || defined(__AVR_ATA8210__)
1710 [clpr]
"I" (_SFR_IO_ADDR(CLPR)),
1712 [enable]
"r" (
_BV(CLPCE)),
1713 [not_CLTPS]
"M" (0xFF & (~ ((1 << CLTPS2) | (1 << CLTPS1) | (1 << CLTPS0)))),
1714 [set_value]
"r" ((__x & 7) << 3)
1718 #if defined(__AVR_ATA6286__) \ 1719 || defined(__AVR_ATA6285__) \ 1720 || defined(__AVR_ATA6289__) 1722 #define timer_clock_prescale_get() (timer_clock_div_t)(CLKPR & (uint8_t)((1<<CLTPS0)|(1<<CLTPS1)|(1<<CLTPS2))) 1724 #elif defined(__AVR_ATA5831__) \ 1725 || defined(__AVR_ATA8510__) \ 1726 || defined(__AVR_ATA5702M322__) \ 1727 || defined(__AVR_ATA5782__) \ 1728 || defined(__AVR_ATA8210__) 1730 #define timer_clock_prescale_get() (timer_clock_div_t)(CLPR & (uint8_t)((1<<CLTPS0)|(1<<CLTPS1)|(1<<CLTPS2))) 1733 #elif defined(__AVR_ATtiny24__) \ 1734 || defined(__AVR_ATtiny24A__) \ 1735 || defined(__AVR_ATtiny44__) \ 1736 || defined(__AVR_ATtiny44A__) \ 1737 || defined(__AVR_ATtiny84__) \ 1738 || defined(__AVR_ATtiny84A__) \ 1739 || defined(__AVR_ATtiny25__) \ 1740 || defined(__AVR_ATtiny45__) \ 1741 || defined(__AVR_ATtiny85__) \ 1742 || defined(__AVR_ATtiny261A__) \ 1743 || defined(__AVR_ATtiny261__) \ 1744 || defined(__AVR_ATtiny461__) \ 1745 || defined(__AVR_ATtiny461A__) \ 1746 || defined(__AVR_ATtiny861__) \ 1747 || defined(__AVR_ATtiny861A__) \ 1748 || defined(__AVR_ATtiny2313__) \ 1749 || defined(__AVR_ATtiny2313A__) \ 1750 || defined(__AVR_ATtiny4313__) \ 1751 || defined(__AVR_ATtiny13__) \ 1752 || defined(__AVR_ATtiny13A__) \ 1753 || defined(__AVR_ATtiny43U__) \ 1768 static __inline__
void clock_prescale_set(clock_div_t)
__attribute__((__always_inline__));
1770 void clock_prescale_set(clock_div_t __x)
1773 __asm__ __volatile__ (
1774 "in __tmp_reg__,__SREG__" "\n\t" 1778 "out __SREG__, __tmp_reg__" 1781 "I" (_SFR_IO_ADDR(CLKPR)),
1787 #define clock_prescale_get() (clock_div_t)(CLKPR & (uint8_t)((1<<CLKPS0)|(1<<CLKPS1)|(1<<CLKPS2)|(1<<CLKPS3))) 1789 #elif defined(__AVR_ATtiny441__) \ 1790 || defined(__AVR_ATtiny841__) 1805 static __inline__
void clock_prescale_set(clock_div_t)
__attribute__((__always_inline__));
1807 void clock_prescale_set(clock_div_t __x)
1810 __asm__ __volatile__ (
1811 "in __tmp_reg__,__SREG__" "\n\t" 1815 "out __SREG__, __tmp_reg__" 1818 "M" (_SFR_MEM_ADDR(CLKPR)),
1819 "M" (_SFR_MEM_ADDR(CCP)),
1825 #define clock_prescale_get() (clock_div_t)(CLKPR & (uint8_t)((1<<CLKPS0)|(1<<CLKPS1)|(1<<CLKPS2)|(1<<CLKPS3))) 1827 #elif defined(__AVR_ATtiny4__) \ 1828 || defined(__AVR_ATtiny5__) \ 1829 || defined(__AVR_ATtiny9__) \ 1830 || defined(__AVR_ATtiny10__) \ 1831 || defined(__AVR_ATtiny20__) \ 1832 || defined(__AVR_ATtiny40__) \ 1847 static __inline__
void clock_prescale_set(clock_div_t)
__attribute__((__always_inline__));
1849 void clock_prescale_set(clock_div_t __x)
1852 __asm__ __volatile__ (
1853 "in __tmp_reg__,__SREG__" "\n\t" 1857 "out __SREG__, __tmp_reg__" 1860 "I" (_SFR_IO_ADDR(CCP)),
1861 "I" (_SFR_IO_ADDR(CLKPSR)),
1866 #define clock_prescale_get() (clock_div_t)(CLKPSR & (uint8_t)((1<<CLKPS0)|(1<<CLKPS1)|(1<<CLKPS2)|(1<<CLKPS3))) 1868 #elif defined(__AVR_ATmega64__) \ 1869 || defined(__AVR_ATmega103__) \ 1870 || defined(__AVR_ATmega128__) 1885 static __inline__
void clock_prescale_set(clock_div_t)
__attribute__((__always_inline__));
1887 void clock_prescale_set(clock_div_t __x)
1889 if((__x <= 0) || (__x > 129))
1906 __asm__ __volatile__ (
1907 "in __tmp_reg__,__SREG__" "\n\t" 1909 "out %1, __zero_reg__" "\n\t" 1918 "cpi %0, 0x01" "\n\t" 1920 "ldi %2, 0x81" "\n\t" 1922 "ori %2, 0x80" "\n\t" 1932 "L_%=: " "out __SREG__, __tmp_reg__" 1935 "I" (_SFR_IO_ADDR(XDIV)),
1941 static __inline__ clock_div_t clock_prescale_get(
void)
__attribute__((__always_inline__));
1943 clock_div_t clock_prescale_get(
void)
1951 return (clock_div_t)(129 - (XDIV & 0x7F));
static __inline void __attribute__((__always_inline__)) __power_all_enable()
Definition: power.h:1148
#define bit_is_clear(sfr, bit)
Definition: sfr_defs.h:245
unsigned char uint8_t
Definition: stdint.h:79
#define _BV(bit)
Definition: sfr_defs.h:208