سلام.
دوستان من می خوام با واحد pwm یک سیکل تولید کنم که t1=700ns و t2=600ns هستش ولی مشکلی هستش اینکه برای تولید مداوم مشکلی نداره ولی برای یک سیکل مشکل دارم .



اینم تنظیماتم:
دوستان من می خوام با واحد 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);