سلام.
دوستان من می خوام با واحد pwm یک سیکل تولید کنم که t1=700ns و t2=600ns هستش ولی مشکلی هستش اینکه برای تولید مداوم مشکلی نداره ولی برای یک سیکل مشکل دارم .
اینم تنظیماتم:
کد:
    PWMCfgDat.PrescaleOption = PWM_TIMER_PRESCALE_TICKVAL;
     PWMCfgDat.PrescaleValue = 1;
    PWM_Init(PWM_0, PWM_MODE_TIMER, &PWMCfgDat);
  
    PWMMatchCfgDat.IntOnMatch = DISABLE;
    PWMMatchCfgDat.MatchChannel = 0;
    PWMMatchCfgDat.ResetOnMatch =ENABLE;
    PWMMatchCfgDat.StopOnMatch =DISABLE;
    PWM_ConfigMatch(PWM_0, &PWMMatchCfgDat);
PWMMatchCfgDat.IntOnMatch = DISABLE;
        PWMMatchCfgDat.MatchChannel = 2;
        PWMMatchCfgDat.ResetOnMatch = DISABLE;
        PWMMatchCfgDat.StopOnMatch = DISABLE;
        PWM_ConfigMatch(PWM_0, &PWMMatchCfgDat);
    //    LPC_TIM0->TC=156;
  //  -------------------------------    
    /* Set match value for PWM match channel 0 = 256, update immediately */
PWM_MatchUpdate(PWM_0, 0, 156 , PWM_MATCH_UPDATE_NOW);
    
PWM_MatchUpdate(PWM_0, 2, 84, PWM_MATCH_UPDATE_NOW);
        
PWM_ChannelCmd(PWM_0, 2, ENABLE);
PWM_ChannelConfig(PWM_0,2,PWM_CHANNEL_SINGLE_EDGE);
PWM_ResetCounter(PWM_0);
    PWM_CounterCmd(PWM_0, ENABLE);

    PWM_Cmd(PWM_0, ENABLE);