реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Таймер STM32F7, Больше скорости
Maxim_Sh
сообщение Feb 19 2016, 20:42
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 19-02-16
Пользователь №: 90 522



Запустил на СТМке таймер, по прерыванию дергаю GPIO
Центральная частота STM 200МГц, таймер работает (судя по CUBE) от 100 МГц
Проект сгенерин в CUBE, подключены lwip, HAL, FreeRTOS
GPIO в режиме хай спид (до 50 Мгц)

проблема в разгоне частоты дерганья GPIO
максимум удалось набрать 500КГц (судя по осцилу), нужно в 10 раз быстрее

управлял скоростью таймера примерно так (не обращайте внимание на значения)
Код
    TIM_TimeBaseInitTypeDef base_timer;
    TIM_TimeBaseStructInit(&base_timer);
  
    base_timer.TIM_Prescaler = 240 - 1; // делитель 240
    base_timer.TIM_Period = 100; //период 100 импульсов

    TIM_TimeBaseInit(TIM6, &base_timer);


примерно при TIM_Prescaler = n и TIM_Period = k достигаются те самые 500Кгц, n и k не предельны (порядка 100 и 50)
делая еще меньше делитель и период - никакого эффекта

Помогите, может кто сталкивался, как получить больше скорости на GPIO?
Go to the top of the page
 
+Quote Post
ViKo
сообщение Feb 20 2016, 06:11
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Посмотрите в отладчике такты, надеюсь, поймете, кто виноват и что делать и почему в России две беды...
Go to the top of the page
 
+Quote Post
Kabdim
сообщение Feb 20 2016, 09:19
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 558
Регистрация: 26-11-14
Из: Зеленоград
Пользователь №: 83 842



Не знаток СТМок, но судя по доке ТИМ6 самый примитивный таймер, а значит вы ГПИО дергали в обработчике прерывания? Если да - не удивительно. Надо прочитать 22.3.10 Output compare mode и далее про PWM.

Сообщение отредактировал Kabdim - Feb 20 2016, 09:21
Go to the top of the page
 
+Quote Post
Maxim_Sh
сообщение Feb 20 2016, 10:01
Сообщение #4





Группа: Новичок
Сообщений: 2
Регистрация: 19-02-16
Пользователь №: 90 522



Цитата
Не знаток СТМок, но судя по доке ТИМ6 самый примитивный таймер, а значит вы ГПИО дергали в обработчике прерывания? Если да - не удивительно. Надо прочитать 22.3.10 Output compare mode и далее про PWM.

Спасибо, почитаю. Но таймер не 6, а 11, пример брал из интеренета, т.к. подрукой не было исходников.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 17:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.01359 секунд с 7
ELECTRONIX ©2004-2016