亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? psc_drv.h

?? 這是,單片機方面的源碼,大家下哈,這晨只是給大家做個參考
?? H
?? 第 1 頁 / 共 3 頁
字號:
#define Disable_pscout10()                            (PSOC1 &= ~(1<<POEN1A) )  //!< Disable PSC1 Waveform Generator A

#define Enable_pscout11()                             (PSOC1 |=  (1<<POEN1B) )  //!< Enable PSC1 Waveform Generator B
#define Disable_pscout11()                            (PSOC1 &= ~(1<<POEN1B) )  //!< Disable PSC1 Waveform Generator B
//! Enable Both PSC1 Waveform Generator A and B
#define Enable_both_psc1_outputs()                                            \
           (PSOC1 |=  ((1<<POEN1A) | (1<<POEN1B)))
//! Disable Both PSC1 Waveform Generator A and B
#define Disable_both_psc1_outputs()                                           \
           (PSOC1 &= ~((1<<POEN1A) | (1<<POEN1B)))

#define Psc1_outputs_active_high()                    (PCNF1 |=  (1<<POP1) )    //!< PSC1 outputs are active low
#define Psc1_outputs_active_low()                     (PCNF1 &= ~(1<<POP1) )    //!< PSC1 outputs are active high
      //! @}

      //! @defgroup PSC1_mode_control_module PSC1 Mode Control
      //! PSC1 Mode Control
      //! @{
#define Enable_psc1_fifty_percent_mode()              (PCNF1 |=  (1<<PFIFTY1) )  //!< PSC1 is in 50% mode: Only OCR1RBH/L and OCR1SBH/L are used. They are duplicated in OCR1R/SAH/L during the update of OCR1BH/L
#define Disable_psc1_fifty_percent_mode()             (PCNF1 &= ~(1<<PFIFTY1) )  //!< OCR1R/SAH/L and OCR1R/SBH/L are fully independant

#define Enable_psc1_autolock_mode()                   (PCNF1 |=  (1<<PALOCK1) )  //!< OCR1R/SAH/L and OCR1R/SBH/L can be written without disturbing the PSC cycle. The update of these registers will be proceed at the end of the PSC cycle if the OCR1RB has been last written
#define Disable_psc1_autolock_mode()                  (PCNF1 &= ~(1<<PALOCK1) )  //!< The update will be procced according to PLOCK1 bit

#define Lock_psc1_compare_values()                    (PCNF1 |=  (1<<PLOCK1) )   //!< Take care that the lock is active only if you have disabled the autolock mode
#define Update_psc1_compare_values()                  (PCNF1 &= ~(1<<PLOCK1) )   //!< The compare registers will be updated with the content of OCR1AH/L and OCR1BH
      //! @}

      //! @defgroup PSC1_clock_control PSC1 Clock Control
      //! PSC1 Clock Control
      //! @{

         //! @defgroup PSC1_clock_selection PSC1 Clock Selection
         //! PSC1 Clock Selection
         //! @{
//! Connect the PSC1 input clock to the PLL
#define Psc1_use_pll_clock()                          (PCNF1 |= (1<<PCLKSEL0) )
//! Connect the PSC1 input clock to the I/O clock
#define Psc1_use_io_clock()                           (PCNF1 &= ~(1<<PCLKSEL0) )
//! Start the PLL at 64MHz and connect it to PSC1


#define Psc1_use_64_mega_pll_clock()                                          \
  {Start_pll_64_mega();                                               \
           Wait_pll_ready();                                                 \
             Psc1_use_pll_clock(); }


//! Start the PLL at 32MHz and connect it to PSC1
#define Psc1_use_32_mega_pll_clock()                                          \
          (Start_pll_32_mega(),                                               \
           Wait_pll_ready(),                                                  \
           Psc1_use_pll_clock() )
         //! @}

         //! @defgroup PSC1_prescaler_control PSC1 Prescaler Control
         //! PSC1 Prescaler Control
         //! @{
//! No PSC1prescaler
#define Disable_psc1_prescaler()                                              \
           (PCTL1 &= ~(  (1<<PPRE11) | (1<<PPRE10) ) )
//! PSC1 clock is internally divided by 4
#define Divide_psc1_input_clock_by_4()                                        \
           (PCTL1 &= ~(1<<PPRE11),                                            \
            PCTL1 |=  (1<<PPRE10) )
//! PSC1 clock is internally divided by 16
#define Divide_psc1_input_clock_by_16()                                       \
           (PCTL1 |=  (1<<PPRE11),                                            \
            PCTL1 &= ~(1<<PPRE10) )
//! PSC1 clock is internally divided by 64
#define Divide_psc1_input_clock_by_64()                                       \
           (PCTL1 |=  ((1<<PPRE11) | (1<<PPRE10)) )
         //! @}

      //! @}

      //! @defgroup PSC1_ramp_mode_selection PSC1 Ramp Mode Selection
      //! PSC1 Ramp Mode Selection
      //! @{
      //! PSC1 is configured in one ramp mode, it means that the internal counter
      //! counts from 0 up to OCR1RB
#define Psc1_in_1_ramp_mode()                                                 \
           (PCNF1 &= ~(  (1<<PMODE11) | (1<<PMODE10) ) )
//! PSC1 is configured in two ramp mode, it means that the internal counter
//! counts from 0 up to OCR1RA then from 0 to OCR1RB
#define Psc1_in_2_ramps_mode()                                                \
           (PCNF1 &= ~(1<<PMODE11),                                           \
            PCNF1 |=  (1<<PMODE10) )
//! PSC1 is configured in for ramp mode, it means that the internal counter
//! counts from 0 up to OCR1SA then from 0 to OCR1RA then from 0 to OCR1SB then from 0 to OCR1RB
#define Psc1_in_4_ramps_mode()                                                \
           (PCNF1 |=  (1<<PMODE11),                                           \
            PCNF1 &= ~(1<<PMODE10) )
//! PSC1 is configured in for ramp mode, it means that the internal counter
//! counts from 0 up to OCR1RB then from OCR1RB downto 0
#define Psc1_in_centered_aligned_mode()                                       \
           (PCNF1 |=  (  (1<<PMODE11) | (1<<PMODE10) ) )
      //! @}

      //! @defgroup PSC1_flank_width_modulation_configuration PSC1 Flank Width Modulation Configuration
      //! Select PSC1 Flank Width Modulation Configuration
      //! @{
#define Psc1_symetrical_flank_width_modulation()      (PCTL1 |=  (1<<PBFM1) )     //!< PSC1 Flank width modulation operates on both OCR1RA and OCR1RB
#define Psc1_end_of_cycle_flank_width_modulation()    (PCTL1 &= ~(1<<PBFM1) )     //!< PSC1 Flank width modulation operates only on OCR1RB
      //! @}

      //! @defgroup PSC1_adc_amplifier_trigger_configuration PSC1 ADC Amplifier Trigger Configuration
      //! Select the PSC1 trigger configuration for the ADC or the amplifier
      //! @{
//! The PSC1 synchronization signal is sent to the ADC/Amplifier on waveform generator A leading edge
#define Psc1_synchro_on_waveform_generator_a_leading_edge()                   \
           (PSCO1 &= ~(  (1<<PSYNC11) | (1<<PSYNC10) ) )
//! The PSC1 synchronization signal is sent to the ADC/Amplifier on waveform generator A trailing edge
#define Psc1_synchro_on_waveform_generator_a_trailing_edge()                  \
           (PSCO1 &= ~(1<<PSYNC11),                                           \
            PSCO1 |=  (1<<PSYNC10) )
//! The PSC1 synchronization signal is sent to the ADC/Amplifier on waveform generator B leading edge
#define Psc1_synchro_on_waveform_generator_b_leading_edge()                   \
           (PSCO1 |=  (1<<PSYNC11),                                           \
            PSCO1 &= ~(1<<PSYNC10) )
//! The PSC1 synchronization signal is sent to the ADC/Amplifier on waveform generator B trailing edge
#define Psc1_synchro_on_waveform_generator_b_trailing_edge()                  \
           (PSCO1 |=  (  (1<<PSYNC11) | (1<<PSYNC10) ) )
      //! @}

      //! @defgroup PSC1_run_control PSC1 Run Control
      //! Turn On and Off the PSC1
      //! @{
#define Start_psc1()                                  (PCTL1 |=  (1<<PRUN1) )     //!< Turn On PSC1
#define Stop_psc1()                                   (PCTL1 &= ~(1<<PRUN1) )     //!< Turn Off PSC1
//! Turn Off PSC1 and the end of cycle
#define Psc1_complete_waveform_and_stop()             (PCTL1 |=  (1<<PCCYC1), \
                                                       PCTL1 &= ~(1<<PRUN1) )
#define Is_psc1_started()                             (PCTL1 & (1<<PRUN1) )
      //! @}

      //! @defgroup PSC1_fault_mode_configuration PSC1 Fault Mode Configuration
      //! PSC1 Fault Mode Configuration
      //! @{
#define Enable_pscout10_fault_mode()                  (PCTL1 |=  (1<<PAOC1A) )    //!< Fault input select to block A can act directly to PSCOUT00 output
#define Disable_pscout10_fault_mode()                 (PCTL1 &= ~(1<<PAOC1A) )    //!< No fault or retrigger management on PSCOUT00

#define Enable_pscout11_fault_mode()                  (PCTL1 |=  (1<<PAOC1B) )    //!< Fault input select to block A can act directly to PSCOUT00 output
#define Disable_pscout11_fault_mode()                 (PCTL1 &= ~(1<<PAOC1B) )    //!< No fault or retrigger management on PSCOUT01

#define Enable_psc1_autorun()                         (PCTL1 |=  (1<<PARUN1) )    //!< Setting PRUN0 in PCTL0 register or setting both PARUN0 in PCTL0 register and PRUN2 in PCTL2 register will make the two PSC start simultaneously
#define Disable_psc1_autorun()                        (PCTL1 &= ~(1<<PARUN1) )    //!< No synchronization between PSC2 and PSC1 exists
      //! @}

      //! @defgroup PSC1_interrupt_configuration PSC1 Interrupt Configuration
      //! PSC1 interrupt configuration
      //! @{
#define Enable_psc1_synchro_error_interrupt()         (PIM1 |=  (1<<PSEIE1) )     //!< An interrupt is generated when the PSEI0 bit is set
#define Disable_psc1_synchro_error_interrupt()        (PIM1 &= ~(1<<PSEIE1) )     //!< No interrupt is generated when the PSEI0 bit is set

#define Enable_psc1_external_event_a_interrupt()      (PIM1 |=  (1<<PEVE1A) )     //!< An external event which can generate a capture from retrigger/fault block A generates an interrupt
#define Disable_psc1_external_event_a_interrupt()     (PIM1 &= ~(1<<PEVE1A) )     //!< An external event which can generate a capture from retrigger/fault block A doesn't generate any interrupt

#define Enable_psc1_external_event_b_interrupt()      (PIM1 |=  (1<<PEVE1B) )     //!< An external event which can generate a capture from retrigger/fault block B generates an interrupt
#define Disable_psc1_external_event_b_interrupt()     (PIM1 &= ~(1<<PEVE1B) )     //!< An external event which can generate a capture from retrigger/fault block B doesn't generate any interrupt

#define Enable_psc1_end_of_cycle_interrupt()          (PIM1 |=  (1<<PEVE1A) )     //!< An interrupt is generated when PSC1 reaches the end of the whole cycle
#define Disable_psc1_end_of_cycle_interrupt()         (PIM1 &= ~(1<<PEVE1A) )     //!< No interrupt is generated when PSC1 reaches the end of the whole cycle
      //! @}

      //! @defgroup PSC1_interrupt_flag_control PSC1 Interrupt Flag Control
      //! PSC1 interrupt flag control
      //! @{
#define Is_psc1_synchro_error_interrupt_flag_set()    (PIFR1 & (1<<PSEI0) )       //!< Return 1 if the PSEI0 bit in PIFR1 is set
#define Clear_psc1_synchro_error_interrupt_flag()     (PIFR1 &= ~(1<<PSEI0) )     //!< Clear PSEI0 bit in PIFR1 register

#define Is_psc1_external_event_a_interrupt_flag_set() (PIFR1 & (1<<PEV0A) )       //!< Return 1 if the PEV0A bit in PIFR1 is set
#define Clear_psc1_external_event_a_interrupt_flag()  (PIFR1 &= ~(1<<PEV0A) )     //!< Clear PEV0A bit in PIFR1 register

#define Is_psc1_external_event_b_interrupt_flag_set() (PIFR1 & (1<<PEV0B) )       //!< Return 1 if the PEV0B bit in PIFR1 is set
#define Clear_psc1_external_event_b_interrupt_flag()  (PIFR1 &= ~(1<<PEV0B) )     //!< Clear PEV0B bit in PIFR1 register

#define Is_psc1_end_of_cycle_interrupt_flag_set()     (PIFR1 & (1<<PEOP1) )       //!< Return 1 if the PEOP1 bit in PIFR1 is set
#define Clear_psc1_end_of_cycle_interrupt_flag()      (PIFR1 &= ~(1<<PEOP1) )     //!< Clear PEOP1 bit in PIFR1 register
      //! @}

      //! @defgroup PSC1_comparison_value_initilization PSC1 Comparison Value Initialization
      //! This section allows to fully initilaize the comprison values
      //! @{
//! Init all PSC1 comparison values
#define Init_psc1_all_compare_values(PSC1_DEADTIME0, PSC1_ONTIME0, PSC1_DEADTIME1, PSC1_ONTIME1)  \
           (OCR1SAH = HIGH((U16)PSC1_DEADTIME0),                              \
            OCR1SAL = LOW ((U16)PSC1_DEADTIME0),                              \
            OCR1RAH = HIGH((U16)PSC1_ONTIME0),                                \
            OCR1RAL = LOW ((U16)PSC1_ONTIME0),                                \
            OCR1SBH = HIGH((U16)PSC1_DEADTIME1),                              \
            OCR1SBL = LOW ((U16)PSC1_DEADTIME1),                              \
            OCR1RBH = HIGH((U16)PSC1_ONTIME1),                                \
            OCR1RBL = LOW ((U16)PSC1_ONTIME1)   )
//! Init PSC1 fifty percent comparison values (usefull for 50% mode)
#define Init_psc1_fifty_percent_compare_values(PSC1_DEADTIME1, PSC1_ONTIME1)              \
           (OCR1SBH = HIGH((U16)PSC1_DEADTIME1),                              \
            OCR1SBL = LOW ((U16)PSC1_DEADTIME1),                              \
            OCR1RBH = HIGH((U16)PSC1_ONTIME1),                                \
            OCR1RBL = LOW ((U16)PSC1_ONTIME1)   )
      //! @}
   //! @}


   //! @defgroup PSC2_macros PSC2 Macros
   //! PSC2 Macros
   //! @{

      //! @defgroup PSC2_output_configuration PSC2 Output Configuration
      //! Select the PSC2 Outputs
      //! @{
#define Enable_pscout20()                             (PSOC2 |=  (1<<POEN2A) )  //!< Enable PSC2 Waveform Generator A
#define Disable_pscout20()                            (PSOC2 &= ~(1<<POEN2A) )  //!< Disable PSC2 Waveform Generator A

#define Enable_pscout21()                             (PSOC2 |=  (1<<POEN2B) )  //!< Enable PSC2 Waveform Generator B
#define Disable_pscout21()                            (PSOC2 &= ~(1<<POEN2B) )  //!< Disable PSC2 Waveform Generator B
//! Enable Both PSC2 Waveform Generator A and B
#define Enable_both_psc2_outputs()                                            \
           (PSOC2 |=  ((1<<POEN2A) | (1<<POEN2B)))
//! Disable Both PSC2 Waveform Generator A and B
#define Disable_both_psc2_outputs()                                           \
           (PSOC2 &= ~((1<<POEN2A) | (1<<POEN2B)))

#define Psc2_outputs_active_high()                    (PCNF2 |=  (1<<POP2) )    //!< PSC2 outputs are active low
#define Psc2_outputs_active_low()                     (PCNF2 &= ~(1<<POP2) )    //!< PSC2 outputs are active high
      //! @}

      //! @defgroup PSC2_mode_control_module PSC2 Mode Control
      //! PSC2 Mode Control
      //! @{
#define Enable_psc2_fifty_percent_mode()              (PCNF2 |=  (1<<PFIFTY2) )  //!< PSC2 is in 50% mode: Only OCR2RBH/L and OCR2SBH/L are used. They are duplicated in OCR2R/SAH/L during the update of OCR2BH/L
#define Disable_psc2_fifty_percent_mode()             (PCNF2 &= ~(1<<PFIFTY2) )  //!< OCR2R/SAH/L and OCR2R/SBH/L are fully independant

#define Enable_psc2_autolock_mode()                   (PCNF2 |=  (1<<PALOCK2) )  //!< OCR2R/SAH/L and OCR2R/SBH/L can be written without disturbing the PSC cycle. The update of these registers will be proceed at the end of the PSC cycle if the OCR2RB has been last written
#define Disable_psc2_autolock_mode()                  (PCNF2 &= ~(1<<PALOCK2) )  //!< The update will be procced according to PLOCK2 bit

#define Lock_psc2_compare_values()                    (PCNF2 |=  (1<<PLOCK2) )   //!< Take care that the lock is active only if you have disabled the autolock mode
#define Update_psc2_compare_values()                  (PCNF2 &= ~(1<<PLOCK2) )   //!< The compare registers will be updated with the content of OCR2AH/L and OCR2BH
      //! @}

      //! @defgroup PSC2_clock_control PSC2 Clock Control
      //! PSC2 Clock Control

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av一区二区三区在线| 国产欧美日韩视频在线观看| 蜜臀久久99精品久久久画质超高清| 欧美日韩国产一区| 蜜桃久久久久久| 在线视频欧美精品| 裸体一区二区三区| 亚洲最新视频在线播放| 国产欧美一区二区三区网站| 欧美一卡二卡三卡| 91久久精品一区二区二区| 一区二区三区在线视频免费观看| 久久综合久久鬼色中文字| 欧美日韩国产大片| 一本久道久久综合中文字幕| 国产成人午夜视频| 国产精品成人一区二区艾草| 久久综合色天天久久综合图片| 欧美一卡2卡3卡4卡| 国产一区二区中文字幕| 日韩黄色片在线观看| 亚洲最快最全在线视频| **性色生活片久久毛片| 久久久欧美精品sm网站| 欧美性猛交xxxxxxxx| 日本高清视频一区二区| 91香蕉视频mp4| 极品销魂美女一区二区三区| 天天av天天翘天天综合网| ●精品国产综合乱码久久久久| 久久久影院官网| 国产日韩视频一区二区三区| 久久婷婷国产综合精品青草| 精品国产污污免费网站入口| 欧美一区二区视频在线观看2022 | 色域天天综合网| 成人黄色在线网站| 成人激情黄色小说| 色综合天天综合网国产成人综合天| 成人激情免费网站| jvid福利写真一区二区三区| 一本久道久久综合中文字幕| 欧美日韩精品福利| 日韩一区二区三| 久久久久国色av免费看影院| 国产精品九色蝌蚪自拍| 亚洲激情一二三区| 亚洲成人一区二区在线观看| 麻豆91小视频| 亚洲午夜激情av| 日韩电影免费在线看| 麻豆91精品视频| 免费精品视频最新在线| 老司机精品视频导航| 国产福利一区在线| 99久久久国产精品| 在线观看日韩毛片| 精品91自产拍在线观看一区| 精品国产91亚洲一区二区三区婷婷| 久久亚洲免费视频| 国产精品欧美综合在线| 亚洲欧美另类在线| 天堂午夜影视日韩欧美一区二区| 美女视频黄 久久| 精品一区二区久久| 一本久久a久久免费精品不卡| 欧美挠脚心视频网站| 国产亚洲一本大道中文在线| 亚洲欧洲成人av每日更新| 国产成人在线视频网址| 久久精品人人做人人综合| 精品在线你懂的| 亚洲精品一区在线观看| 久久99久久99精品免视看婷婷| 欧美一区二区三区白人| 免费成人在线网站| 日韩欧美视频在线| 国产在线视频一区二区三区| 欧美精选午夜久久久乱码6080| 一区二区三区精品在线| 欧美日韩精品专区| 秋霞电影一区二区| 欧美变态口味重另类| 激情综合网最新| 欧美激情中文不卡| 99国产精品视频免费观看| 亚洲精品va在线观看| 欧美日韩卡一卡二| 国内久久精品视频| 欧美极品xxx| 91极品视觉盛宴| 日韩高清在线一区| 久久久久久久久蜜桃| eeuss影院一区二区三区| 一区二区三区在线免费播放| 欧美三级韩国三级日本三斤 | 欧美性三三影院| 日韩和欧美一区二区三区| 欧美一激情一区二区三区| 蜜桃av一区二区三区电影| 日韩欧美在线观看一区二区三区| 国模娜娜一区二区三区| ●精品国产综合乱码久久久久| 欧美性生交片4| 国产一区不卡视频| 亚洲啪啪综合av一区二区三区| 欧美婷婷六月丁香综合色| 狠狠狠色丁香婷婷综合激情 | 日本特黄久久久高潮| 在线91免费看| 国产精品一二三| 亚洲电影欧美电影有声小说| 国产日韩精品视频一区| 色就色 综合激情| 麻豆传媒一区二区三区| 亚洲欧洲中文日韩久久av乱码| 欧美日韩美女一区二区| av一区二区三区四区| 六月丁香婷婷久久| 一区二区激情小说| 欧美精品一区二区三区久久久| 色婷婷久久久综合中文字幕| 精品一区二区三区不卡| 偷偷要91色婷婷| 最新中文字幕一区二区三区 | 亚洲综合av网| 国产日产欧美一区二区视频| 欧美精品第1页| 91啦中文在线观看| 国产电影一区在线| 蜜桃久久久久久| 亚洲超碰精品一区二区| 国产精品久久久久久一区二区三区| 欧美日韩国产免费| 成人av在线看| 国产真实精品久久二三区| 亚洲va天堂va国产va久| 久久久久久久久一| 日韩三级中文字幕| 555www色欧美视频| 欧美日韩在线播放| 欧美三片在线视频观看| 色婷婷综合久色| 91亚洲午夜精品久久久久久| 国产乱码精品一品二品| 狠狠狠色丁香婷婷综合久久五月| 蜜臀久久久久久久| 久久er99热精品一区二区| 美腿丝袜亚洲一区| 精品在线观看免费| 国产精品99久久久久久久女警| 国内成+人亚洲+欧美+综合在线| 麻豆精品视频在线观看| 国产一区二区91| 国产精品18久久久久久久久| 国产乱一区二区| 成人做爰69片免费看网站| 成人av网站在线观看免费| 成人精品小蝌蚪| 91在线观看一区二区| 色婷婷综合久色| 欧美日韩国产成人在线免费| 欧美一区二区在线观看| 精品久久五月天| 国产欧美一区二区精品婷婷| 国产精品久久久久永久免费观看| **欧美大码日韩| 日韩和欧美的一区| 国产一区二区在线观看视频| av中文字幕亚洲| 欧美日韩激情一区二区三区| 欧美一区二区在线不卡| 久久久综合精品| 亚洲精品国产成人久久av盗摄| 亚洲午夜在线视频| 韩国欧美国产1区| 91片在线免费观看| 欧美一区二区三区思思人| 久久日韩精品一区二区五区| 国产蜜臀av在线一区二区三区 | 日本电影欧美片| 日韩视频在线你懂得| 国产精品理论在线观看| 亚洲一区二区三区激情| 看片的网站亚洲| 不卡av电影在线播放| 91麻豆精品91久久久久久清纯| 久久久精品黄色| 亚洲一区在线看| 国产成人在线视频网址| 欧美三级午夜理伦三级中视频| 久久夜色精品国产噜噜av| 亚洲国产精品天堂| 国产福利一区二区三区视频在线| 欧美三级视频在线观看| 中文字幕精品—区二区四季| 无吗不卡中文字幕| 色综合天天综合网天天狠天天| 精品久久一区二区三区| 亚洲图片一区二区|