Вырвиглаз, тут видать сказывается мой очень начальный уровень программирования. Мне для самого простого проекта бывает сложно придумать алгоритм. С++ я знаю на 2 с минусом. Я понимаю что это можно закодить, сижу, читаю синтаксис. пробую. Вот последний пример:
Нужно плавно зажигать и гасить группу светодиодов. Работать пробую в связке Keil+CubeMix+Hal на ютубе и в нете примеров достаточно. Выглядит всё примрно так:
HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_2);
HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_3);
HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_4);
for(i=0;i<=65535 ;i++)
{
TIM4->CCR1=i;
for(d=0;d<300;d++)
{
}
}
Хрен с ним, что у меня таймер не 4 а 3 с этим я разобрался быстро. Но ССR1 !!! откуда мне знать что именно эта хрень привязана к каналу... итог - на моей плате светодиоды на 3 и 4 каналах таймера, соответственно ничего не работает, а у меня нервный срыв от того что я такой тупой не могу лампочку зажечь.
Что самое плохое, это то что есть гора нюансов. Настройки среды, настройки куба, параметры таймеров, каналы, режимы... и в любом месте может быть косяк. Не знаешь где искать = поиск длится безумно долго.
Ну и мелочи конечно бесят в самом примитивном бейсике нормально можно случайное число получить, но не тут...
Delay им тоже показался лишним - мутим циклы, задержка у которых зависит от частоты.
Спрашивается НАКУЯ?
Налейте мне валерьянки.