Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2016, 22:29   #1
Uzver'
Новичок
Джуниор
 
Регистрация: 28.11.2016
Сообщений: 2
По умолчанию STM32F4 таймер

Доброго вечера!
Задача, казалось бы, пустяковая, но усложнилась отсутствием опыта.
Требуется замерить время выполнения участка кода (сотни микросекунд), пользуясь встроенными таймерами.
Среда IAR Embedded Workbench for arm.
Руководствуясь интернетом и мануалами, сделал следующее:

Код:
volatile uint32_t msTicks=0;
void SysTick_Handler(void)
{
    msTicks++;
}
в main:
Код:
SysTick_Config((SystemCoreClock / 10000)-1);
uint32_t t0=SysTick->VAL=0;
   
   //arm_rfft_f32(&FFTStruct,adc_specI,adc_specO);
   //собственно исследуемый код
   
t0=SysTick->VAL;
SystemCoreClock жестко 150 МГц, максимальная частота камня- 168МГц

Идейно должен считать время в размерности [0.1мс], считывая текущее значение счётчика, но дебаг выдаёт ересь. Пробовал через TIM8 сделать, но не смог найти адекватных примеров в Сети. Старшие товарищи, подскажите, где косячу, и как можно реализовать это дело?
Uzver' вне форума Ответить с цитированием
Старый 29.11.2016, 08:40   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

У вас отладка на живом устройстве происходит??
Если просто сделать цикл
Код:
while(1);
Отладчик попадает в прерывание таймера?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 29.11.2016, 09:37   #3
Uzver'
Новичок
Джуниор
 
Регистрация: 28.11.2016
Сообщений: 2
По умолчанию

Отладчик попадает в прерывание таймера?[/QUOTE]
Цитата:
Сообщение от WorldMaster Посмотреть сообщение
У вас отладка на живом устройстве происходит??
Да, в том-то и дело. Так бы просто <time.h> использовал, или что-то подобное.


Цитата:
Отладчик попадает в прерывание таймера?
Не уверен, что понял, но проблема в другом: Не понимаю, как настроить таймер
1)на генерацию прерываний каждые 0.1 миллисекунды и их подсчёт,
2) или на банальное увеличение текущего значения счётчика с тем же шагом, чтобы просто в watch посмотреть значение. А для этого, я так понимаю, нужно задать Уровень сброса счётчика значением больше предполагаемого результата. С реализацией- зашел в тупик.
Uzver' вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Таймер FranCOder Помощь студентам 5 11.01.2014 09:03
Таймер kort95 Общие вопросы Delphi 12 12.12.2013 22:13
таймер Артэс Общие вопросы C/C++ 4 23.10.2013 17:22
таймер antonov Помощь студентам 6 08.11.2010 19:17
Таймер graff Общие вопросы C/C++ 11 04.07.2009 01:36