|
1 / 1 / 1
Регистрация: 28.02.2013
Сообщений: 93
|
||||||
Перевод тиков FreeRTOS в миллисекунды16.10.2014, 11:43. Показов 9608. Ответов 24
Метки нет (Все метки)
Добрый день!
Пытаюсь перевести FreeRTOS'ные тики в миллисекунды - типа, реализация функции Sleep в миллисекундах, а не тиках.
portTICK_RATE_MS == 1000 / configTICK_RATE_HZ configTICK_RATE_HZ == 1000, configSYSTICK_CLOCK_HZ == 168000000 (это тактовая частота Cortex-M4), SysTick Reload Value Register (0xe000e014) == ( configSYSTICK_CLOCK_HZ / configTICK_RATE_HZ ) - 1UL Формулу взял из коментариев к функции 'xTimerCreate' в FreeRTOS'ном коде: * @param xTimerPeriodInTicks The timer period. The time is defined in tick periods so * the constant portTICK_RATE_MS can be used to convert a time that has been * specified in milliseconds. For example, if the timer must expire after 100 * ticks, then xTimerPeriodInTicks should be set to 100. Alternatively, if the timer * must expire after 500ms, then xPeriod can be set to ( 500 / portTICK_RATE_MS ) * provided configTICK_RATE_HZ is less than or equal to 1000. Замерял время по секундомеру на разных Sleep-периодах (10000, 15000, 20000 мс) - всегда приблизительно в 3 раза дольше получается. И вопрос - как перевести тики в миллисекунды?
0
|
||||||
| 16.10.2014, 11:43 | |
|
Ответы с готовыми решениями:
24
FreeRTOS на STM32F103 "медленные" миллисекунды. Количество тиков таймера перевести в миллисекунды
|
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
|
| 18.10.2014, 22:53 | |
|
ValeryS, в кортексе М3 есть как минимум тактовая частота HCI, а затем начинаются:
HCLK - частота конвеера и ЦПУ. CLK1 - частота одной шины (куча периферии). CLK2 - частота другой шины (вторая куча периферии). При этом, IWDT (independent watchdog), SYSclock и т.н. backup-registers, которые цепляются к своему собственному источнику тактования, который, в свою очередь, тоже имеет три потенциальных источника - внутренний RC на 40кГц, внешний LFE (кварц с нуля до сотни кГц) и делимый на сколько-то генератор основной частоты. Эта часть работает асинхронно и в общем случае не синхронизирована с основным клоком. Все клоки могут работать или быть остановлены, как врознь, так и сообща... К слову, флеш в STM32 тоже работает на своей частоте, с делителем, зависящим от частоты HCLK. Вопрос: так какую частоту нужно считать "частотой камня?"
1
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
||
| 18.10.2014, 23:07 | ||
![]() ну если по серьезному то ту которую использует FreeRTOS конкретно вот этот макрос configSYSTICK_CLOCK_HZ а вот откуда она берется и как запущена нужно смотреть функцию инициализации
2
|
||
|
1 / 1 / 1
Регистрация: 28.02.2013
Сообщений: 93
|
||||
| 19.10.2014, 01:10 [ТС] | ||||
В каком регистре хранится частота SysTick'а? Мне просто нужна она, а дальше я уже настрою тики FreeRTOS.
0
|
||||
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
||
| 19.10.2014, 10:51 | ||
|
- источник тактования - внутренний, внешний или клок главного с делителем (на 256 или сколько-то там, это есть в ДШ). - количество тактов клока источника, когда выполняется прерывание. И все.
1
|
||
|
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
|
||
| 19.10.2014, 15:33 | ||
) или посмотреть код настроечных функций.
3
|
||
| 19.10.2014, 15:33 | |
|
Как перевести unix миллисекунды (unixtimestamp) в обычные миллисекунды?
Сгенерировать uuid v1 из тиков даты
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр.
Дословно, отклонённая. . .
|
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы
Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
|
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
|
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2.
Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
|
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
|
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
|