123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509 |
- /**********************************************************************
- * $Id$ lpc17xx_mcpwm.c 2010-05-21
- *//**
- * @file lpc17xx_mcpwm.c
- * @brief Contains all functions support for Motor Control PWM firmware
- * library on LPC17xx
- * @version 2.0
- * @date 21. May. 2010
- * @author NXP MCU SW Application Team
- *
- * Copyright(C) 2010, NXP Semiconductor
- * All rights reserved.
- *
- ***********************************************************************
- * Software that is described herein is for illustrative purposes only
- * which provides customers with programming information regarding the
- * products. This software is supplied "AS IS" without any warranties.
- * NXP Semiconductors assumes no responsibility or liability for the
- * use of the software, conveys no license or title under any patent,
- * copyright, or mask work right to the product. NXP Semiconductors
- * reserves the right to make changes in the software without
- * notification. NXP Semiconductors also make no representation or
- * warranty that such application will be suitable for the specified
- * use without further testing or modification.
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, under NXP Semiconductors'
- * relevant copyright in the software, without fee, provided that it
- * is used in conjunction with NXP Semiconductors microcontrollers. This
- * copyright, permission, and disclaimer notice must appear in all copies of
- * this code.
- **********************************************************************/
-
- /* Peripheral group ----------------------------------------------------------- */
- /** @addtogroup MCPWM
- * @{
- */
-
- /* Includes ------------------------------------------------------------------- */
- #include "lpc17xx_mcpwm.h"
- #include "lpc17xx_clkpwr.h"
-
- /* If this source file built with example, the LPC17xx FW library configuration
- * file in each example directory ("lpc17xx_libcfg.h") must be included,
- * otherwise the default FW library configuration file must be included instead
- */
- #ifdef __BUILD_WITH_EXAMPLE__
- #include "lpc17xx_libcfg.h"
- #else
- #include "lpc17xx_libcfg_default.h"
- #endif /* __BUILD_WITH_EXAMPLE__ */
-
-
- #ifdef _MCPWM
-
- /* Public Functions ----------------------------------------------------------- */
- /** @addtogroup MCPWM_Public_Functions
- * @{
- */
-
- /*********************************************************************//**
- * @brief Initializes the MCPWM peripheral
- * @param[in] MCPWMx Motor Control PWM peripheral selected,
- * Should be: LPC_MCPWM
- * @return None
- **********************************************************************/
- void MCPWM_Init(LPC_MCPWM_TypeDef *MCPWMx)
- {
-
- /* Turn On MCPWM PCLK */
- CLKPWR_ConfigPPWR (CLKPWR_PCONP_PCMC, ENABLE);
- /* As default, peripheral clock for MCPWM module
- * is set to FCCLK / 2 */
- // CLKPWR_SetPCLKDiv(CLKPWR_PCLKSEL_MC, CLKPWR_PCLKSEL_CCLK_DIV_2);
-
- MCPWMx->MCCAP_CLR = MCPWM_CAPCLR_CAP(0) | MCPWM_CAPCLR_CAP(1) | MCPWM_CAPCLR_CAP(2);
- MCPWMx->MCINTFLAG_CLR = MCPWM_INT_ILIM(0) | MCPWM_INT_ILIM(1) | MCPWM_INT_ILIM(2) \
- | MCPWM_INT_IMAT(0) | MCPWM_INT_IMAT(1) | MCPWM_INT_IMAT(2) \
- | MCPWM_INT_ICAP(0) | MCPWM_INT_ICAP(1) | MCPWM_INT_ICAP(2);
- MCPWMx->MCINTEN_CLR = MCPWM_INT_ILIM(0) | MCPWM_INT_ILIM(1) | MCPWM_INT_ILIM(2) \
- | MCPWM_INT_IMAT(0) | MCPWM_INT_IMAT(1) | MCPWM_INT_IMAT(2) \
- | MCPWM_INT_ICAP(0) | MCPWM_INT_ICAP(1) | MCPWM_INT_ICAP(2);
- }
-
-
- /*********************************************************************//**
- * @brief Configures each channel in MCPWM peripheral according to the
- * specified parameters in the MCPWM_CHANNEL_CFG_Type.
- * @param[in] MCPWMx Motor Control PWM peripheral selected
- * should be: LPC_MCPWM
- * @param[in] channelNum Channel number, should be: 0..2.
- * @param[in] channelSetup Pointer to a MCPWM_CHANNEL_CFG_Type structure
- * that contains the configuration information for the
- * specified MCPWM channel.
- * @return None
- **********************************************************************/
- void MCPWM_ConfigChannel(LPC_MCPWM_TypeDef *MCPWMx, uint32_t channelNum,
- MCPWM_CHANNEL_CFG_Type * channelSetup)
- {
- if (channelNum <= 2) {
- if (channelNum == 0) {
- MCPWMx->MCTIM0 = channelSetup->channelTimercounterValue;
- MCPWMx->MCPER0 = channelSetup->channelPeriodValue;
- MCPWMx->MCPW0 = channelSetup->channelPulsewidthValue;
- } else if (channelNum == 1) {
- MCPWMx->MCTIM1 = channelSetup->channelTimercounterValue;
- MCPWMx->MCPER1 = channelSetup->channelPeriodValue;
- MCPWMx->MCPW1 = channelSetup->channelPulsewidthValue;
- } else if (channelNum == 2) {
- MCPWMx->MCTIM2 = channelSetup->channelTimercounterValue;
- MCPWMx->MCPER2 = channelSetup->channelPeriodValue;
- MCPWMx->MCPW2 = channelSetup->channelPulsewidthValue;
- } else {
- return;
- }
-
- if (channelSetup->channelType /* == MCPWM_CHANNEL_CENTER_MODE */){
- MCPWMx->MCCON_SET = MCPWM_CON_CENTER(channelNum);
- } else {
- MCPWMx->MCCON_CLR = MCPWM_CON_CENTER(channelNum);
- }
-
- if (channelSetup->channelPolarity /* == MCPWM_CHANNEL_PASSIVE_HI */){
- MCPWMx->MCCON_SET = MCPWM_CON_POLAR(channelNum);
- } else {
- MCPWMx->MCCON_CLR = MCPWM_CON_POLAR(channelNum);
- }
-
- if (channelSetup->channelDeadtimeEnable /* == ENABLE */){
- MCPWMx->MCCON_SET = MCPWM_CON_DTE(channelNum);
- MCPWMx->MCDEADTIME &= ~(MCPWM_DT(channelNum, 0x3FF));
- MCPWMx->MCDEADTIME |= MCPWM_DT(channelNum, channelSetup->channelDeadtimeValue);
- } else {
- MCPWMx->MCCON_CLR = MCPWM_CON_DTE(channelNum);
- }
-
- if (channelSetup->channelUpdateEnable /* == ENABLE */){
- MCPWMx->MCCON_CLR = MCPWM_CON_DISUP(channelNum);
- } else {
- MCPWMx->MCCON_SET = MCPWM_CON_DISUP(channelNum);
- }
- }
- }
-
-
- /*********************************************************************//**
- * @brief Write to MCPWM shadow registers - Update the value for period
- * and pulse width in MCPWM peripheral.
- * @param[in] MCPWMx Motor Control PWM peripheral selected
- * Should be: LPC_MCPWM
- * @param[in] channelNum Channel Number, should be: 0..2.
- * @param[in] channelSetup Pointer to a MCPWM_CHANNEL_CFG_Type structure
- * that contains the configuration information for the
- * specified MCPWM channel.
- * @return None
- **********************************************************************/
- void MCPWM_WriteToShadow(LPC_MCPWM_TypeDef *MCPWMx, uint32_t channelNum,
- MCPWM_CHANNEL_CFG_Type *channelSetup)
- {
- if (channelNum == 0){
- MCPWMx->MCPER0 = channelSetup->channelPeriodValue;
- MCPWMx->MCPW0 = channelSetup->channelPulsewidthValue;
- } else if (channelNum == 1) {
- MCPWMx->MCPER1 = channelSetup->channelPeriodValue;
- MCPWMx->MCPW1 = channelSetup->channelPulsewidthValue;
- } else if (channelNum == 2) {
- MCPWMx->MCPER2 = channelSetup->channelPeriodValue;
- MCPWMx->MCPW2 = channelSetup->channelPulsewidthValue;
- }
- }
-
-
-
- /*********************************************************************//**
- * @brief Configures capture function in MCPWM peripheral
- * @param[in] MCPWMx Motor Control PWM peripheral selected
- * Should be: LPC_MCPWM
- * @param[in] channelNum MCI (Motor Control Input pin) number
- * Should be: 0..2
- * @param[in] captureConfig Pointer to a MCPWM_CAPTURE_CFG_Type structure
- * that contains the configuration information for the
- * specified MCPWM capture.
- * @return
- **********************************************************************/
- void MCPWM_ConfigCapture(LPC_MCPWM_TypeDef *MCPWMx, uint32_t channelNum,
- MCPWM_CAPTURE_CFG_Type *captureConfig)
- {
- if (channelNum <= 2) {
-
- if (captureConfig->captureFalling /* == ENABLE */) {
- MCPWMx->MCCAPCON_SET = MCPWM_CAPCON_CAPMCI_FE(captureConfig->captureChannel, channelNum);
- } else {
- MCPWMx->MCCAPCON_CLR = MCPWM_CAPCON_CAPMCI_FE(captureConfig->captureChannel, channelNum);
- }
-
- if (captureConfig->captureRising /* == ENABLE */) {
- MCPWMx->MCCAPCON_SET = MCPWM_CAPCON_CAPMCI_RE(captureConfig->captureChannel, channelNum);
- } else {
- MCPWMx->MCCAPCON_CLR = MCPWM_CAPCON_CAPMCI_RE(captureConfig->captureChannel, channelNum);
- }
-
- if (captureConfig->timerReset /* == ENABLE */){
- MCPWMx->MCCAPCON_SET = MCPWM_CAPCON_RT(captureConfig->captureChannel);
- } else {
- MCPWMx->MCCAPCON_CLR = MCPWM_CAPCON_RT(captureConfig->captureChannel);
- }
-
- if (captureConfig->hnfEnable /* == ENABLE */){
- MCPWMx->MCCAPCON_SET = MCPWM_CAPCON_HNFCAP(channelNum);
- } else {
- MCPWMx->MCCAPCON_CLR = MCPWM_CAPCON_HNFCAP(channelNum);
- }
- }
- }
-
-
- /*********************************************************************//**
- * @brief Clears current captured value in specified capture channel
- * @param[in] MCPWMx Motor Control PWM peripheral selected
- * Should be: LPC_MCPWM
- * @param[in] captureChannel Capture channel number, should be: 0..2
- * @return None
- **********************************************************************/
- void MCPWM_ClearCapture(LPC_MCPWM_TypeDef *MCPWMx, uint32_t captureChannel)
- {
- MCPWMx->MCCAP_CLR = MCPWM_CAPCLR_CAP(captureChannel);
- }
-
- /*********************************************************************//**
- * @brief Get current captured value in specified capture channel
- * @param[in] MCPWMx Motor Control PWM peripheral selected,
- * Should be: LPC_MCPWM
- * @param[in] captureChannel Capture channel number, should be: 0..2
- * @return None
- **********************************************************************/
- uint32_t MCPWM_GetCapture(LPC_MCPWM_TypeDef *MCPWMx, uint32_t captureChannel)
- {
- if (captureChannel == 0){
- return (MCPWMx->MCCR0);
- } else if (captureChannel == 1) {
- return (MCPWMx->MCCR1);
- } else if (captureChannel == 2) {
- return (MCPWMx->MCCR2);
- }
- return (0);
- }
-
-
- /*********************************************************************//**
- * @brief Configures Count control in MCPWM peripheral
- * @param[in] MCPWMx Motor Control PWM peripheral selected
- * Should be: LPC_MCPWM
- * @param[in] channelNum Channel number, should be: 0..2
- * @param[in] countMode Count mode, should be:
- * - ENABLE: Enables count mode.
- * - DISABLE: Disable count mode, the channel is in timer mode.
- * @param[in] countConfig Pointer to a MCPWM_COUNT_CFG_Type structure
- * that contains the configuration information for the
- * specified MCPWM count control.
- * @return None
- **********************************************************************/
- void MCPWM_CountConfig(LPC_MCPWM_TypeDef *MCPWMx, uint32_t channelNum,
- uint32_t countMode, MCPWM_COUNT_CFG_Type *countConfig)
- {
- if (channelNum <= 2) {
- if (countMode /* == ENABLE */){
- MCPWMx->MCCNTCON_SET = MCPWM_CNTCON_CNTR(channelNum);
- if (countConfig->countFalling /* == ENABLE */) {
- MCPWMx->MCCNTCON_SET = MCPWM_CNTCON_TCMCI_FE(countConfig->counterChannel,channelNum);
- } else {
- MCPWMx->MCCNTCON_CLR = MCPWM_CNTCON_TCMCI_FE(countConfig->counterChannel,channelNum);
- }
- if (countConfig->countRising /* == ENABLE */) {
- MCPWMx->MCCNTCON_SET = MCPWM_CNTCON_TCMCI_RE(countConfig->counterChannel,channelNum);
- } else {
- MCPWMx->MCCNTCON_CLR = MCPWM_CNTCON_TCMCI_RE(countConfig->counterChannel,channelNum);
- }
- } else {
- MCPWMx->MCCNTCON_CLR = MCPWM_CNTCON_CNTR(channelNum);
- }
- }
- }
-
-
- /*********************************************************************//**
- * @brief Start MCPWM activity for each MCPWM channel
- * @param[in] MCPWMx Motor Control PWM peripheral selected
- * Should be: LPC_MCPWM
- * @param[in] channel0 State of this command on channel 0:
- * - ENABLE: 'Start' command will effect on channel 0
- * - DISABLE: 'Start' command will not effect on channel 0
- * @param[in] channel1 State of this command on channel 1:
- * - ENABLE: 'Start' command will effect on channel 1
- * - DISABLE: 'Start' command will not effect on channel 1
- * @param[in] channel2 State of this command on channel 2:
- * - ENABLE: 'Start' command will effect on channel 2
- * - DISABLE: 'Start' command will not effect on channel 2
- * @return None
- **********************************************************************/
- void MCPWM_Start(LPC_MCPWM_TypeDef *MCPWMx, uint32_t channel0,
- uint32_t channel1, uint32_t channel2)
- {
- uint32_t regVal = 0;
- regVal = (channel0 ? MCPWM_CON_RUN(0) : 0) | (channel1 ? MCPWM_CON_RUN(1) : 0) \
- | (channel2 ? MCPWM_CON_RUN(2) : 0);
- MCPWMx->MCCON_SET = regVal;
- }
-
-
- /*********************************************************************//**
- * @brief Stop MCPWM activity for each MCPWM channel
- * @param[in] MCPWMx Motor Control PWM peripheral selected
- * Should be: LPC_MCPWM
- * @param[in] channel0 State of this command on channel 0:
- * - ENABLE: 'Stop' command will effect on channel 0
- * - DISABLE: 'Stop' command will not effect on channel 0
- * @param[in] channel1 State of this command on channel 1:
- * - ENABLE: 'Stop' command will effect on channel 1
- * - DISABLE: 'Stop' command will not effect on channel 1
- * @param[in] channel2 State of this command on channel 2:
- * - ENABLE: 'Stop' command will effect on channel 2
- * - DISABLE: 'Stop' command will not effect on channel 2
- * @return None
- **********************************************************************/
- void MCPWM_Stop(LPC_MCPWM_TypeDef *MCPWMx, uint32_t channel0,
- uint32_t channel1, uint32_t channel2)
- {
- uint32_t regVal = 0;
- regVal = (channel0 ? MCPWM_CON_RUN(0) : 0) | (channel1 ? MCPWM_CON_RUN(1) : 0) \
- | (channel2 ? MCPWM_CON_RUN(2) : 0);
- MCPWMx->MCCON_CLR = regVal;
- }
-
-
- /*********************************************************************//**
- * @brief Enables/Disables 3-phase AC motor mode on MCPWM peripheral
- * @param[in] MCPWMx Motor Control PWM peripheral selected
- * Should be: LPC_MCPWM
- * @param[in] acMode State of this command, should be:
- * - ENABLE.
- * - DISABLE.
- * @return None
- **********************************************************************/
- void MCPWM_ACMode(LPC_MCPWM_TypeDef *MCPWMx, uint32_t acMode)
- {
- if (acMode){
- MCPWMx->MCCON_SET = MCPWM_CON_ACMODE;
- } else {
- MCPWMx->MCCON_CLR = MCPWM_CON_ACMODE;
- }
- }
-
-
- /*********************************************************************//**
- * @brief Enables/Disables 3-phase DC motor mode on MCPWM peripheral
- * @param[in] MCPWMx Motor Control PWM peripheral selected
- * Should be: LPC_MCPWM
- * @param[in] dcMode State of this command, should be:
- * - ENABLE.
- * - DISABLE.
- * @param[in] outputInvered Polarity of the MCOB outputs for all 3 channels,
- * should be:
- * - ENABLE: The MCOB outputs have opposite polarity
- * from the MCOA outputs.
- * - DISABLE: The MCOB outputs have the same basic
- * polarity as the MCOA outputs.
- * @param[in] outputPattern A value contains bits that enables/disables the specified
- * output pins route to the internal MCOA0 signal, should be:
- - MCPWM_PATENT_A0: MCOA0 tracks internal MCOA0
- - MCPWM_PATENT_B0: MCOB0 tracks internal MCOA0
- - MCPWM_PATENT_A1: MCOA1 tracks internal MCOA0
- - MCPWM_PATENT_B1: MCOB1 tracks internal MCOA0
- - MCPWM_PATENT_A2: MCOA2 tracks internal MCOA0
- - MCPWM_PATENT_B2: MCOB2 tracks internal MCOA0
- * @return None
- *
- * Note: all these outputPatent values above can be ORed together for using as input parameter.
- **********************************************************************/
- void MCPWM_DCMode(LPC_MCPWM_TypeDef *MCPWMx, uint32_t dcMode,
- uint32_t outputInvered, uint32_t outputPattern)
- {
- if (dcMode){
- MCPWMx->MCCON_SET = MCPWM_CON_DCMODE;
- } else {
- MCPWMx->MCCON_CLR = MCPWM_CON_DCMODE;
- }
-
- if (outputInvered) {
- MCPWMx->MCCON_SET = MCPWM_CON_INVBDC;
- } else {
- MCPWMx->MCCON_CLR = MCPWM_CON_INVBDC;
- }
-
- MCPWMx->MCCCP = outputPattern;
- }
-
-
- /*********************************************************************//**
- * @brief Configures the specified interrupt in MCPWM peripheral
- * @param[in] MCPWMx Motor Control PWM peripheral selected
- * Should be: LPC_MCPWM
- * @param[in] ulIntType Interrupt type, should be:
- * - MCPWM_INTFLAG_LIM0: Limit interrupt for channel (0)
- * - MCPWM_INTFLAG_MAT0: Match interrupt for channel (0)
- * - MCPWM_INTFLAG_CAP0: Capture interrupt for channel (0)
- * - MCPWM_INTFLAG_LIM1: Limit interrupt for channel (1)
- * - MCPWM_INTFLAG_MAT1: Match interrupt for channel (1)
- * - MCPWM_INTFLAG_CAP1: Capture interrupt for channel (1)
- * - MCPWM_INTFLAG_LIM2: Limit interrupt for channel (2)
- * - MCPWM_INTFLAG_MAT2: Match interrupt for channel (2)
- * - MCPWM_INTFLAG_CAP2: Capture interrupt for channel (2)
- * - MCPWM_INTFLAG_ABORT: Fast abort interrupt
- * @param[in] NewState New State of this command, should be:
- * - ENABLE.
- * - DISABLE.
- * @return None
- *
- * Note: all these ulIntType values above can be ORed together for using as input parameter.
- **********************************************************************/
- void MCPWM_IntConfig(LPC_MCPWM_TypeDef *MCPWMx, uint32_t ulIntType, FunctionalState NewState)
- {
- if (NewState) {
- MCPWMx->MCINTEN_SET = ulIntType;
- } else {
- MCPWMx->MCINTEN_CLR = ulIntType;
- }
- }
-
-
- /*********************************************************************//**
- * @brief Sets/Forces the specified interrupt for MCPWM peripheral
- * @param[in] MCPWMx Motor Control PWM peripheral selected
- * Should be LPC_MCPWM
- * @param[in] ulIntType Interrupt type, should be:
- * - MCPWM_INTFLAG_LIM0: Limit interrupt for channel (0)
- * - MCPWM_INTFLAG_MAT0: Match interrupt for channel (0)
- * - MCPWM_INTFLAG_CAP0: Capture interrupt for channel (0)
- * - MCPWM_INTFLAG_LIM1: Limit interrupt for channel (1)
- * - MCPWM_INTFLAG_MAT1: Match interrupt for channel (1)
- * - MCPWM_INTFLAG_CAP1: Capture interrupt for channel (1)
- * - MCPWM_INTFLAG_LIM2: Limit interrupt for channel (2)
- * - MCPWM_INTFLAG_MAT2: Match interrupt for channel (2)
- * - MCPWM_INTFLAG_CAP2: Capture interrupt for channel (2)
- * - MCPWM_INTFLAG_ABORT: Fast abort interrupt
- * @return None
- * Note: all these ulIntType values above can be ORed together for using as input parameter.
- **********************************************************************/
- void MCPWM_IntSet(LPC_MCPWM_TypeDef *MCPWMx, uint32_t ulIntType)
- {
- MCPWMx->MCINTFLAG_SET = ulIntType;
- }
-
-
- /*********************************************************************//**
- * @brief Clear the specified interrupt pending for MCPWM peripheral
- * @param[in] MCPWMx Motor Control PWM peripheral selected,
- * should be: LPC_MCPWM
- * @param[in] ulIntType Interrupt type, should be:
- * - MCPWM_INTFLAG_LIM0: Limit interrupt for channel (0)
- * - MCPWM_INTFLAG_MAT0: Match interrupt for channel (0)
- * - MCPWM_INTFLAG_CAP0: Capture interrupt for channel (0)
- * - MCPWM_INTFLAG_LIM1: Limit interrupt for channel (1)
- * - MCPWM_INTFLAG_MAT1: Match interrupt for channel (1)
- * - MCPWM_INTFLAG_CAP1: Capture interrupt for channel (1)
- * - MCPWM_INTFLAG_LIM2: Limit interrupt for channel (2)
- * - MCPWM_INTFLAG_MAT2: Match interrupt for channel (2)
- * - MCPWM_INTFLAG_CAP2: Capture interrupt for channel (2)
- * - MCPWM_INTFLAG_ABORT: Fast abort interrupt
- * @return None
- * Note: all these ulIntType values above can be ORed together for using as input parameter.
- **********************************************************************/
- void MCPWM_IntClear(LPC_MCPWM_TypeDef *MCPWMx, uint32_t ulIntType)
- {
- MCPWMx->MCINTFLAG_CLR = ulIntType;
- }
-
-
- /*********************************************************************//**
- * @brief Check whether if the specified interrupt in MCPWM is set or not
- * @param[in] MCPWMx Motor Control PWM peripheral selected,
- * should be: LPC_MCPWM
- * @param[in] ulIntType Interrupt type, should be:
- * - MCPWM_INTFLAG_LIM0: Limit interrupt for channel (0)
- * - MCPWM_INTFLAG_MAT0: Match interrupt for channel (0)
- * - MCPWM_INTFLAG_CAP0: Capture interrupt for channel (0)
- * - MCPWM_INTFLAG_LIM1: Limit interrupt for channel (1)
- * - MCPWM_INTFLAG_MAT1: Match interrupt for channel (1)
- * - MCPWM_INTFLAG_CAP1: Capture interrupt for channel (1)
- * - MCPWM_INTFLAG_LIM2: Limit interrupt for channel (2)
- * - MCPWM_INTFLAG_MAT2: Match interrupt for channel (2)
- * - MCPWM_INTFLAG_CAP2: Capture interrupt for channel (2)
- * - MCPWM_INTFLAG_ABORT: Fast abort interrupt
- * @return None
- **********************************************************************/
- FlagStatus MCPWM_GetIntStatus(LPC_MCPWM_TypeDef *MCPWMx, uint32_t ulIntType)
- {
- return ((MCPWMx->MCINTFLAG & ulIntType) ? SET : RESET);
- }
-
- /**
- * @}
- */
-
- #endif /* _MCPWM */
-
- /**
- * @}
- */
-
- /* --------------------------------- End Of File ------------------------------ */
|