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

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

?? pwm.c

?? KEIL驅動 各方面各 你的看法女士的煩惱 方看到你
?? C
?? 第 1 頁 / 共 5 頁
字號:

    //
    // Synchronize the counters in the specified generators by writing to the
    // module's synchronization register.
    //
    HWREG(ulBase + PWM_O_SYNC) = ulGenBits;
}

//*****************************************************************************
//
//! Enables or disables PWM outputs.
//!
//! \param ulBase is the base address of the PWM module.
//! \param ulPWMOutBits are the PWM outputs to be modified.  Must be the
//! logical OR of any of \b PWM_OUT_0_BIT, \b PWM_OUT_1_BIT, \b PWM_OUT_2_BIT,
//! \b PWM_OUT_3_BIT, \b PWM_OUT_4_BIT, \b PWM_OUT_5_BIT, \b PWM_OUT_6_BIT,
//! or \b PWM_OUT_7_BIT.
//! \param bEnable determines if the signal is enabled or disabled.
//!
//! This function is used to enable or disable the selected PWM outputs.  The
//! outputs are selected using the parameter \e ulPWMOutBits.  The parameter
//! \e bEnable determines the state of the selected outputs.  If \e bEnable is
//! \b true, then the selected PWM outputs are enabled, or placed in the active
//! state.  If \e bEnable is \b false, then the selected outputs are disabled,
//! or placed in the inactive state.
//!
//! \return None.
//
//*****************************************************************************
void
PWMOutputState(unsigned long ulBase, unsigned long ulPWMOutBits,
               tBoolean bEnable)
{
    //
    // Check the arguments.
    //
    ASSERT(ulBase == PWM_BASE);
    ASSERT(!(ulPWMOutBits & ~(PWM_OUT_0_BIT | PWM_OUT_1_BIT | PWM_OUT_2_BIT |
                              PWM_OUT_3_BIT | PWM_OUT_4_BIT | PWM_OUT_5_BIT |
                              PWM_OUT_6_BIT | PWM_OUT_7_BIT)));

    //
    // Read the module's ENABLE output control register, and set or clear the
    // requested bits.
    //
    if(bEnable == true)
    {
        HWREG(ulBase + PWM_O_ENABLE) |= ulPWMOutBits;
    }
    else
    {
        HWREG(ulBase + PWM_O_ENABLE) &= ~(ulPWMOutBits);
    }
}

//*****************************************************************************
//
//! Selects the inversion mode for PWM outputs.
//!
//! \param ulBase is the base address of the PWM module.
//! \param ulPWMOutBits are the PWM outputs to be modified.  Must be the
//! logical OR of any of \b PWM_OUT_0_BIT, \b PWM_OUT_1_BIT, \b PWM_OUT_2_BIT,
//! \b PWM_OUT_3_BIT, \b PWM_OUT_4_BIT, \b PWM_OUT_5_BIT, \b PWM_OUT_6_BIT, or
//! \b PWM_OUT_7_BIT.
//! \param bInvert determines if the signal is inverted or passed through.
//!
//! This function is used to select the inversion mode for the selected PWM
//! outputs.  The outputs are selected using the parameter \e ulPWMOutBits.
//! The parameter \e bInvert determines the inversion mode for the selected
//! outputs.  If \e bInvert is \b true, this function will cause the specified
//! PWM output signals to be inverted, or made active low.  If \e bInvert is
//! \b false, the specified output will be passed through as is, or be made
//! active high.
//!
//! \return None.
//
//*****************************************************************************
void
PWMOutputInvert(unsigned long ulBase, unsigned long ulPWMOutBits,
                tBoolean bInvert)
{
    //
    // Check the arguments.
    //
    ASSERT(ulBase == PWM_BASE);
    ASSERT(!(ulPWMOutBits & ~(PWM_OUT_0_BIT | PWM_OUT_1_BIT | PWM_OUT_2_BIT |
                              PWM_OUT_3_BIT | PWM_OUT_4_BIT | PWM_OUT_5_BIT |
                              PWM_OUT_6_BIT | PWM_OUT_7_BIT)));

    //
    // Read the module's INVERT output control register, and set or clear the
    // requested bits.
    //
    if(bInvert == true)
    {
        HWREG(ulBase + PWM_O_INVERT) |= ulPWMOutBits;
    }
    else
    {
        HWREG(ulBase + PWM_O_INVERT) &= ~(ulPWMOutBits);
    }
}

//*****************************************************************************
//
//! Specifies the level of PWM outputs suppressed in response to a fault
//! condition.
//!
//! \param ulBase is the base address of the PWM module.
//! \param ulPWMOutBits are the PWM outputs to be modified.  Must be the
//! logical OR of any of \b PWM_OUT_0_BIT, \b PWM_OUT_1_BIT, \b PWM_OUT_2_BIT,
//! \b PWM_OUT_3_BIT, \b PWM_OUT_4_BIT, \b PWM_OUT_5_BIT, \b PWM_OUT_6_BIT, or
//! \b PWM_OUT_7_BIT.
//! \param bDriveHigh determines if the signal is driven high or low during an
//! active fault condition.
//!
//! This function determines whether a PWM output pin that is suppressed in
//! response to a fault condition will be driven high or low.  The affected
//! outputs are selected using the parameter \e ulPWMOutBits.  The parameter
//! \e bDriveHigh determines the output level for the pins identified by
//! \e ulPWMOutBits.  If \e bDriveHigh is \b true then the selected outputs
//! will be driven high when a fault is detected.  If it is \e false, the pins
//! will be driven low.
//!
//! In a fault condition, pins which have not been configured to be suppressed
//! via a call to PWMOutputFault() are unaffected by this function.
//!
//! \note This function is available only on devices which support extended
//! PWM fault handling.
//!
//! \return None.
//
//*****************************************************************************
void
PWMOutputFaultLevel(unsigned long ulBase, unsigned long ulPWMOutBits,
                    tBoolean bDriveHigh)
{
    //
    // Check the arguments.
    //
    ASSERT(HWREG(SYSCTL_DC5) & SYSCTL_DC5_PWMEFLT);
    ASSERT(ulBase == PWM_BASE);
    ASSERT(!(ulPWMOutBits & ~(PWM_OUT_0_BIT | PWM_OUT_1_BIT | PWM_OUT_2_BIT |
                              PWM_OUT_3_BIT | PWM_OUT_4_BIT | PWM_OUT_5_BIT |
                              PWM_OUT_6_BIT | PWM_OUT_7_BIT)));

    //
    // Read the module's FAULT output control register, and set or clear the
    // requested bits.
    //
    if(bDriveHigh == true)
    {
        HWREG(ulBase + PWM_O_FAULTVAL) |= ulPWMOutBits;
    }
    else
    {
        HWREG(ulBase + PWM_O_FAULTVAL) &= ~(ulPWMOutBits);
    }
}

//*****************************************************************************
//
//! Specifies the state of PWM outputs in response to a fault condition.
//!
//! \param ulBase is the base address of the PWM module.
//! \param ulPWMOutBits are the PWM outputs to be modified.  Must be the
//! logical OR of any of \b PWM_OUT_0_BIT, \b PWM_OUT_1_BIT, \b PWM_OUT_2_BIT,
//! \b PWM_OUT_3_BIT, \b PWM_OUT_4_BIT, \b PWM_OUT_5_BIT, \b PWM_OUT_6_BIT, or
//! \b PWM_OUT_7_BIT.
//! \param bFaultSuppress determines if the signal is suppressed or passed
//! through during an active fault condition.
//!
//! This function sets the fault handling characteristics of the selected PWM
//! outputs.  The outputs are selected using the parameter \e ulPWMOutBits.
//! The parameter \e bFaultSuppress determines the fault handling
//! characteristics for the selected outputs.  If \e bFaultSuppress is \b true,
//! then the selected outputs will be made inactive.  If \e bFaultSuppress is
//! \b false, then the selected outputs are unaffected by the detected fault.
//!
//! On devices supporting extended PWM fault handling, the state the affected
//! output pins are driven to can be configured with PWMOutputFaultLevel().  If
//! not configured, or if the device does not support extended PWM fault
//! handling, affected outputs will be driven low on a fault condition.
//!
//! \return None.
//
//*****************************************************************************
void
PWMOutputFault(unsigned long ulBase, unsigned long ulPWMOutBits,
               tBoolean bFaultSuppress)
{
    //
    // Check the arguments.
    //
    ASSERT(ulBase == PWM_BASE);
    ASSERT(!(ulPWMOutBits & ~(PWM_OUT_0_BIT | PWM_OUT_1_BIT | PWM_OUT_2_BIT |
                              PWM_OUT_3_BIT | PWM_OUT_4_BIT | PWM_OUT_5_BIT |
                              PWM_OUT_6_BIT | PWM_OUT_7_BIT)));

    //
    // Read the module's FAULT output control register, and set or clear the
    // requested bits.
    //
    if(bFaultSuppress == true)
    {
        HWREG(ulBase + PWM_O_FAULT) |= ulPWMOutBits;
    }
    else
    {
        HWREG(ulBase + PWM_O_FAULT) &= ~(ulPWMOutBits);
    }
}

//*****************************************************************************
//
//! Registers an interrupt handler for the specified PWM generator block.
//!
//! \param ulBase is the base address of the PWM module.
//! \param ulGen is the PWM generator in question.  Must be one of
//! \b PWM_GEN_0, \b PWM_GEN_1, \b PWM_GEN_2, or \b PWM_GEN_3.
//! \param pfnIntHandler is a pointer to the function to be called when the PWM
//! generator interrupt occurs.
//!
//! This function will ensure that the interrupt handler specified by
//! \e pfnIntHandler is called when an interrupt is detected for the specified
//! PWM generator block.  This function will also enable the corresponding
//! PWM generator interrupt in the interrupt controller; individual generator
//! interrupts and interrupt sources must be enabled with PWMIntEnable() and
//! PWMGenIntTrigEnable().
//!
//! \sa IntRegister() for important information about registering interrupt
//! handlers.
//!
//! \return None.
//
//*****************************************************************************
void
PWMGenIntRegister(unsigned long ulBase, unsigned long ulGen,
                  void (*pfnIntHandler)(void))
{
    unsigned long ulInt;

    //
    // Check the arguments.
    //
    ASSERT(ulBase == PWM_BASE);
    ASSERT(PWMGenValid(ulGen));

    //
    // Get the interrupt number associated with the specified generator.
    //
    if(ulGen == PWM_GEN_3)
    {
        ulInt = INT_PWM3;
    }
    else
    {
        ulInt = INT_PWM0 + (ulGen >> 6) - 1;
    }

    //
    // Register the interrupt handler.
    //
    IntRegister(ulInt, pfnIntHandler);

    //
    // Enable the PWMx interrupt.
    //
    IntEnable(ulInt);
}

//*****************************************************************************
//
//! Removes an interrupt handler for the specified PWM generator block.
//!
//! \param ulBase is the base address of the PWM module.
//! \param ulGen is the PWM generator in question.  Must be one of
//! \b PWM_GEN_0, \b PWM_GEN_1, \b PWM_GEN_2, or \b PWM_GEN_3.
//!
//! This function will unregister the interrupt handler for the specified
//! PWM generator block.  This function will also disable the corresponding
//! PWM generator interrupt in the interrupt controller; individual generator
//! interrupts and interrupt sources must be disabled with PWMIntDisable() and
//! PWMGenIntTrigDisable().
//!
//! \sa IntRegister() for important information about registering interrupt
//! handlers.
//!
//! \return None.
//
//*****************************************************************************
void
PWMGenIntUnregister(unsigned long ulBase, unsigned long ulGen)
{
    unsigned long ulInt;

    //
    // Check the arguments.
    //
    ASSERT(ulBase == PWM_BASE);
    ASSERT(PWMGenValid(ulGen));

    //
    // Get the interrupt number associated with the specified generator.
    //
    if(ulGen == PWM_GEN_3)
    {
        ulInt = INT_PWM3;
    }
    else
    {
        ulInt = INT_PWM0 + (ulGen >> 6) - 1;
    }

    //
    // Disable the PWMx interrupt.
    //
    IntDisable(ulInt);

    //
    // Unregister the interrupt handler.
    //
    IntUnregister(ulInt);
}

//*****************************************************************************
//
//! Registers an interrupt handler for a fault condition detected in a PWM
//! module.
//!
//! \param ulBase is the base address of the PWM module.
//! \param pfnIntHandler is a pointer to the function to be called when the PWM
//! fault interrupt occurs.
//!
//! This function will ensure that the interrupt handler specified by
//! \e pfnIntHandler is called when a fault interrupt is detected for the
//! selected PWM module.  This function will also enable the PWM fault
//! interrupt in the NVIC; the PWM fault interrupt must also be enabled at the
//! module level using PWMIntEnable().
//!

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一道本成人在线| 成人黄色免费短视频| 亚洲最新在线观看| 亚洲免费在线视频| 亚洲精品福利视频网站| 一区二区三区在线高清| 一区二区在线观看av| 亚洲国产乱码最新视频| 亚洲国产日韩综合久久精品| 青青青爽久久午夜综合久久午夜| 日韩高清在线电影| 国产在线看一区| 国产精品911| 97精品久久久午夜一区二区三区| 色妹子一区二区| 91精品婷婷国产综合久久性色 | 成人av资源下载| 99久久精品国产网站| 91成人国产精品| 91精品国产综合久久久久久久| 亚洲精品在线免费播放| 国产精品久久久久久久久快鸭| 亚洲精品少妇30p| 美腿丝袜亚洲色图| 99久久精品国产网站| 欧美精品久久99久久在免费线 | 成人一区二区三区中文字幕| 成人激情小说乱人伦| 欧美色图片你懂的| 欧美不卡一区二区三区| 亚洲男人天堂一区| 久久国内精品视频| 91国内精品野花午夜精品| 欧美一区二区国产| 中文字幕一区二区三区不卡在线| 亚洲国产欧美日韩另类综合| 国产成人一区二区精品非洲| 精品视频一区 二区 三区| 国产日韩欧美综合在线| 爽好多水快深点欧美视频| 粉嫩绯色av一区二区在线观看| 欧美日韩国产高清一区二区三区 | 日韩精品一区在线| 亚洲三级在线观看| 国产一区久久久| 欧美日韩一区二区三区免费看 | 91麻豆精品国产91久久久使用方法| 国产欧美日韩麻豆91| 蜜臀av性久久久久av蜜臀妖精| 99精品久久99久久久久| 久久久久久一二三区| 午夜av区久久| 色天使色偷偷av一区二区| 国产欧美视频一区二区| 久久er99精品| 欧美一个色资源| 亚洲一区二区三区中文字幕| 成人h动漫精品| 国产午夜亚洲精品羞羞网站| 久久国产欧美日韩精品| 91精品国产麻豆| 日本午夜一区二区| 91精品国产色综合久久不卡电影 | 韩国欧美一区二区| 日韩精品中午字幕| 蜜桃精品视频在线观看| 欧美一级淫片007| 丝袜美腿高跟呻吟高潮一区| 欧美日韩色一区| 亚洲一区二区三区中文字幕| 欧美无砖砖区免费| 香蕉成人伊视频在线观看| 欧洲精品一区二区| 亚洲成人福利片| 日韩一区二区三区四区| 免费一级片91| 亚洲精品一区二区三区福利| 国产美女久久久久| 久久精品在线免费观看| 成人免费视频一区二区| 国产精品久久福利| 色哟哟日韩精品| 五月天一区二区| 91 com成人网| 国产精品中文欧美| 亚洲视频小说图片| 欧美日韩中文一区| 久久激五月天综合精品| 久久久九九九九| 91麻豆文化传媒在线观看| 亚洲小说春色综合另类电影| 宅男在线国产精品| 国产精品99久| 亚洲在线视频网站| 欧美r级电影在线观看| 国产乱码精品一区二区三区忘忧草 | 亚洲国产cao| 日韩三级免费观看| 成人一道本在线| 亚洲一区免费在线观看| 精品欧美一区二区在线观看| 成人v精品蜜桃久久一区| 亚洲电影一区二区| 国产三级欧美三级| 欧美日韩成人综合天天影院| 国产乱码精品一区二区三| 中文字幕一区二区三区视频| 欧美一级一区二区| 日本高清免费不卡视频| 日韩在线一区二区| 中文字幕亚洲精品在线观看| 日韩一区二区免费视频| 99综合电影在线视频| 美脚の诱脚舐め脚责91| 一区二区三区在线影院| 日韩免费成人网| 欧美亚洲自拍偷拍| 国产成人午夜高潮毛片| 丝袜美腿一区二区三区| 综合在线观看色| 久久久综合九色合综国产精品| 日本高清不卡在线观看| 风间由美中文字幕在线看视频国产欧美 | 欧美日韩国产123区| 成人动漫视频在线| 狠狠色狠狠色合久久伊人| 亚洲成在线观看| 亚洲色大成网站www久久九九| 久久久久久久久伊人| 色婷婷av一区| 成人黄色在线看| 福利电影一区二区| 精品一区精品二区高清| 天天色综合成人网| 午夜婷婷国产麻豆精品| 亚洲免费电影在线| 精品精品欲导航| 91精品国产乱码久久蜜臀| 欧美精品精品一区| 欧美嫩在线观看| 欧美日韩在线三区| 欧美婷婷六月丁香综合色| 在线精品视频小说1| 懂色av中文一区二区三区| 亚洲bt欧美bt精品| 午夜精品福利一区二区三区蜜桃| 最近中文字幕一区二区三区| 中文字幕av资源一区| 欧美一区二区不卡视频| 在线观看视频一区| 成人综合日日夜夜| jizz一区二区| 国产v日产∨综合v精品视频| 国产一区二区在线电影| 国产伦精品一区二区三区视频青涩| 国内不卡的二区三区中文字幕| 精彩视频一区二区| 国产精品综合视频| 成人av在线播放网站| 91片在线免费观看| 欧美性受xxxx黑人xyx性爽| 欧美精品三级日韩久久| 日韩欧美电影一区| 国产欧美精品国产国产专区| 国产精品三级视频| 一区二区三区精品视频在线| 午夜精品久久久久久久蜜桃app| 蜜臀精品久久久久久蜜臀| 国产一区999| 日本精品一区二区三区四区的功能| 91黄色免费观看| 日韩欧美综合在线| 国产精品免费久久久久| 亚洲自拍偷拍麻豆| 九色porny丨国产精品| 国产+成+人+亚洲欧洲自线| voyeur盗摄精品| 欧美日韩不卡一区二区| 久久久久99精品国产片| 一区二区三区91| 爽好久久久欧美精品| 国产精品性做久久久久久| 色哟哟国产精品| 日韩午夜激情视频| 一区视频在线播放| 免费日韩伦理电影| 99久久久久久| 亚洲精品一区二区在线观看| 中文字幕在线观看不卡视频| 日韩电影在线免费看| 成人久久久精品乱码一区二区三区| 欧美人与性动xxxx| 2023国产一二三区日本精品2022| 亚洲久草在线视频| 精品一区二区综合| 欧美剧在线免费观看网站 | 精品一区二区三区视频| 色av一区二区| 中文天堂在线一区| 久久精品国产亚洲高清剧情介绍 |