Попозжа могу на гит выложить. Или как удобней?
“Проект” громко сказано) просто пару строчек с таймером)
Это да, но уже на готовом устройстве, а пока я щупаю периферию.
Однажды джойстик делал на 16 кнопок и 2 стика(4 координаты), так извернулся определить коды всех органов одним светодиодом. Почти морзянкой😄
Это невероятно! Это непостижимо!
Теперь в дебаге можно смотреть любые тайминги.
Гипотеза
подтвердилась. Всего-то порядка 1500 страниц документации, из которых отсеял 1357. Итого изучив 143 страницы “Referense Manual” нашёл таки регистр, отвечающий за тактирование. Причём отдельно для каждого таймера и прочих узлов и механизмов
Вроде сложно, но когда что-то начинает получаться, то всё больше люблю ARM))) Куча возможностей)
Это очень удобно дебажить, когда на таймерах висят моторы, энкодеры и всякие импульсные преобразователи, то можно это всё не отключать. Гениальное решение.
Я конечно не **настоящий сталевар **, но по практике, реально более полезно выводить какие то данные online или SWO или какой нибудь UART.
Даже из памяти dma более понятно вывести в лог, помогло при отладки ws2812.
Сегодня буквально искал косяк, почему sms части вторая и далее не отправлялась, банальные puts в нескольких местах показали проблему.
Вот что не могу никак понять и/или осознать.
Идем в таймеры (плата 103с8), выбираем первый таймер, clock source - internal. Первый канал - режим PWM CH1. Предделитель отключен. Как я понимаю таймер должен тактироваться от 72МГц? Counter period ставлю 1500. На выходе получаю частоту 48кГц. Вроде бы логично.
Но если мне нужно на частоте 48кГц менять скважность ШИМ более плавно, то есть не от 0 до 1500 (я про CCR1), а от 0 до 3500 например, то как быть? Ничего не получится? Только мк с более высокой тактовой частотой?