Size: a a a

2020 December 27

к

катехизис in Catethysis
ну так мяу, замени value на то, что ты хочешь
источник

VL

Vlad Lavrushkin in Catethysis
я объявил value
источник

к

катехизис in Catethysis
только это не скважность, а скважность*период
источник

VL

Vlad Lavrushkin in Catethysis
{
  unsigned int value;
     TIM_OC_InitTypeDef sConfigOC;
  sConfigOC.OCMode = TIM_OCMODE_PWM1;
  sConfigOC.Pulse = value;
  sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
  sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
  HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1);
  HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1);
   /* USER CODE BEGIN 3 */
 }
источник

VL

Vlad Lavrushkin in Catethysis
а где скважность?)
источник

к

катехизис in Catethysis
катехизис
только это не скважность, а скважность*период
тык
источник

к

катехизис in Catethysis
если период 1000, и нужна скважность 25%, то в value пиши 250
источник

VL

Vlad Lavrushkin in Catethysis
это я понимаю, я настроил что в pulse у меня должно быть 16, это 50%
источник

VL

Vlad Lavrushkin in Catethysis
но мне нужно чтобы при старте скважность увеличилась 0-50%. Типа софт старта у взрослых ШИМ
источник

к

катехизис in Catethysis
тебе просто или правильно?
источник

VL

Vlad Lavrushkin in Catethysis
Лучше правильно конечно
источник

к

катехизис in Catethysis
точнее не так
тебе важно, чтобы в это время что-то ещё работало?
источник

VL

Vlad Lavrushkin in Catethysis
ну оно же аппаратное вроде, не?
источник

VL

Vlad Lavrushkin in Catethysis
генерация ШИМ
источник

VL

Vlad Lavrushkin in Catethysis
катехизис
точнее не так
тебе важно, чтобы в это время что-то ещё работало?
А можно всех посмотреть?)
источник

к

катехизис in Catethysis
для начала давай простым способом.
источник

VL

Vlad Lavrushkin in Catethysis
Согласен
источник

VL

Vlad Lavrushkin in Catethysis
Блин так неловко, поперся сразу в сложности (для меня) а сам гуглю как объявить переменную ахахаха
Пожалуйста "не бейте" меня если я не пойму(
источник

к

катехизис in Catethysis
выноси этот код с HAL_TIM_PWM_ConfigChannel в функцию pwm_setvalue
в main пиши
unsigned int duty = 0;
while(duty < 16) {
   pwm_setvalue(duty++);
   HAL_Delay(100);
}


объяснение: пока duty меньше 16, оно будет увеличиваться на 1 каждые 100 мс (начиная с 0), в итоге за 1.6 с достигнет 16 и выполнение пойдёт дальше.
источник

VL

Vlad Lavrushkin in Catethysis
понял
источник