我的工程使用了TMOS系統(tǒng)。把定時器1重映射到PB10,使用DMA PWM功能;
????GPIOB_ModeCfg(GPIO_Pin_10,?GPIO_ModeOut_PP_5mA); ????GPIOPinRemap(ENABLE,?RB_PIN_TMR1); ????TMR1_PWMCycleCfg(120000);?//?周期?2000us ????TMR1_DMACfg(ENABLE,?(uint16_t)(uint32_t)&PwmBuf[0],?(uint16_t)(uint32_t)&PwmBuf[11],?Mode_Single); ????TMR1_PWMInit(High_Level,?PWM_Times_1); ????/*?開啟周期結(jié)束中斷?*/ ????TMR1_ClearITFlag(TMR1_2_IT_DMA_END); ????PFIC_EnableIRQ(TMR1_IRQn); ????TMR1_ITCfg(ENABLE,?TMR1_2_IT_DMA_END);
中斷里是這樣的
__INTERRUPT __HIGH_CODE void?TMR1_IRQHandler(void) { ????if(TMR1_GetITFlag(TMR1_2_IT_DMA_END)) ????{ ????????TMR1_ClearITFlag(TMR1_2_IT_DMA_END); ????????PFIC_DisableIRQ(TMR1_IRQn); ????????TMR1_ITCfg(DISABLE,?TMR1_2_IT_DMA_END); ????????/*?DMA?結(jié)束?*/ ????????/*?用戶可自行添加需要的處理?*/ ????????TMR1_DMACfg(DISABLE,?(uint16_t)(uint32_t)&PwmBuf[0],?(uint16_t)(uint32_t)&PwmBuf[11],?Mode_Single); ????} }
但是PWM仍然在運行。
請問,1:如何關(guān)閉PWM?
2:還需關(guān)閉什么才能進入休眠狀態(tài)?
熱門產(chǎn)品 :
CH641: PD及無線充電專用MCU