这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » EPWMEnableAcc是控制自动产生10个累加器然后自动关闭PWM输出吗?

共2条 1/1 1 跳转至

EPWMEnableAcc是控制自动产生10个累加器然后自动关闭PWM输出吗?

工程师
2024-01-20 19:29:35     打赏

EPWM_EnableAcc(EPWM1, 0, 10, EPWM_IFA_ZERO_POINT);
这个是控制自动产生10个累加器然后自动关闭PWM输出吗?
void EPWM1P0_IRQHandler(void)
{
    EPWM_ClearAccInt(EPWM1, 0);
}

试验了一下 貌似又无法实现!




关键词: EnableAcc     PWM    

助工
2024-01-20 19:30:10     打赏
2楼

请参考这个代码
****************************************************************************************/
/* EPWM start output waveform functoin                                                  */
/****************************************************************************************/
// Num,       Number of wavform outputing from PWM pin
// Delay_PWM, After such PWM Period, ADC start to convert
void EPWM_Output(uint8_t Num, uint16_t Delay_PWM)
{
    if (Num == 0) return ;

    EPWM1->CNTCLR = ~0 ;
    EPWM1->IFA[0] = 0 ;
    EPWM1->IFA[0] = 0x80000000 + Num ;            // CH0,interrupt every Num period
    EPWM1->AINTSTS = ~0 ;                         // Clear interrupt flag
    NVIC_ClearPendingIRQ(EPWM1P0_IRQn);

    EPWM1->IFA[2] = 0 ;
    EPWM1->IFA[2] = 0x80000000 + Delay_PWM ;      // CH1,interrupt every Delay_PWM period
    NVIC_ClearPendingIRQ(EPWM1P1_IRQn);

    EPWM1->AINTEN = 5 ;           // Enable PWM intrrupt,Disable output after such number of period
    PDMA_Initial(Data_Num) ;                      // Configure number of data that PDMA transfering

    EPWM_TRIGGER_SYNC_START(EPWM1);               // Active EPWM0 synchronously


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]