dimir 2 1 марта, 2023 Опубликовано 1 марта, 2023 · Жалоба Output compare mode но не как не ШИМ. ШИМ мне кажется лучше подходит.Хотя нужно экспериментировать.Если нужно что б была частота меандра 20 Мгц. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimir 2 14 января Опубликовано 14 января · Жалоба Хочу обратно вернутся на меандр ШИМ на stm32 мне всё понятно только prescaler как менять если в майне он настроен по умолчанию ARR =400 CCR=200 Квк? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 85 14 января Опубликовано 14 января · Жалоба я конешн не спецыалист 🙂 , но говорят, что PSC = (коэфф_деления - 1) помогает. типа вот так вот. void SetPrescaler(uint16_t divider) { TIM1->PSC = divider - 1; } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimir 2 14 января Опубликовано 14 января · Жалоба Вы имеете ввиду функция.А ещё один провокационный вопрос.На какие частоты может работать выход таймера stm32f103c8t6.Почему спрашиваю мне нужно генерацию от 800кГц до 32Мгц. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 85 14 января Опубликовано 14 января · Жалоба Я имею ввиду TIM1->PSC = divider - 1; Работать может на те частоты, на которые настроите. И учитывайте шаг перестройки частоты. Все ответы есть в документации же. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimir 2 14 января Опубликовано 14 января · Жалоба А как же инициализация в майне. Значение возращается в майн? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 85 14 января Опубликовано 14 января (изменено) · Жалоба Какая инициализация в майне? Что куда возвращается? Просто берете и изменяете значение предделителя PSC таймера, это обычный регистр, его можно записывать в любое время когда угодно и чем угодно. Посчитали, сколько надо и записали. Например, тактовая частота МК 72 МГц, тактовая шины APB2 72 МГц, ARR = 10 - 1. На выходе таймера нам надо 800 кГц. Значит, PSC = (72'000'000 / 10) / 800'000 = 9 - 1 = 8. (PSC = div - 1). Изменено 14 января пользователем EdgeAligned забыл написать, что 72000000 / 10 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimir 2 14 января Опубликовано 14 января · Жалоба Как и таймер так и вся периферия где то инициализация проходит у меня в майне.И прескалер тоже. Можно попробовать не инициализировать. А работать будет тогда?И ввести в функцию и изменять изменять в основном цикле. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 85 14 января Опубликовано 14 января · Жалоба Да очень просто будет работать, при PSC = 0, это его значение после сброса, если ничего не менять. Вы документацию совсем не читали и совсем еще начинающий, видимо? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimir 2 14 января Опубликовано 14 января (изменено) · Жалоба Да вроде читал но написано по английски.Не по русски.И не по турецки .Но вытянет ли таймер большие частоты до 40 Мгц ? вот в чём вопрос. И можно ли просмотреть на китайском анализаторе спектра так как осцилографа не имею.А есть совдеповский лабораторный. Изменено 14 января пользователем dimir Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
serglg 0 15 января Опубликовано 15 января (изменено) · Жалоба On 1/14/2024 at 6:32 PM, dimir said: Таймер вытянет любую частоту согласно ДШ. Обычно макс. тактовая у таймера равна тактовой процессора (но может быть и половина). Короче. Для выходного меандра 40 МГц на входе таймера надо 160 МГц. Отсюда выбираете соотв. STM32. Чтоб он мог работать на 160 МГц Изменено 15 января пользователем serglg Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimir 2 15 января Опубликовано 15 января (изменено) · Жалоба Я понял а есть другой аппаратный вариант?Si5351A В 15.01.2024 в 07:24, serglg сказал: Таймер вытянет любую частоту согласно ДШ. Обычно макс. тактовая у таймера равна тактовой процессора (но может быть и половина). Короче. Для выходного меандра 40 МГц на входе таймера надо 160 МГц. Отсюда выбираете соотв. STM32. Чтоб он мог работать на 160 МГц Изменено 15 января пользователем dimir Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 85 15 января Опубликовано 15 января · Жалоба STM32F103C8 BluePill: 72 МГц тактовой, таймер PSC = 0, ARR = 1, CCR2 = 1. Выход - 36 МГц. (36,36 - погрешность изменения анализатором из-за его частоты 400 Мсепл/с.) Однако, особенность этой байды в том, что изменение на PSC = 1 изменит выходную частоту в 2 раза 🙂 Это чистая математика. Что-то в последнее время тут на форуме какие-то дикие хотелки. Один гражданин собирает неведому гравицапу с ШИМ-кодированием звука на дискретных элементах, другой вот... 40 МГц хотит... А базовых знаний почему то нету. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimir 2 15 января Опубликовано 15 января · Жалоба Меандр конкретно на 64Мгц на баэе stm32 можно сделать или нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 15 января Опубликовано 15 января · Жалоба 16 минут назад, dimir сказал: Меандр конкретно на 64Мгц на баэе stm32 можно сделать или нет. Можно. Делайте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться