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

 
 
> Использовать вместо Systic другой таймер, Несколько уточнений
MiklPolikov
сообщение Jun 26 2014, 04:47
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Всем привет !

У меня системная частота всё время меняется для экономии энергии, поэтому хочу использовать в качестве systic прерывание от таймера, привязанного к внешнему кварцу 32768 . Если кто-нибудь делал, прокомментируйте ход мыслей . Всё что я написал, необходимо и достаточно ? Ничего не забыл ?

1) В freeRTOSconfig.h нужно заменить дефайн
#define xPortSysTickHandler SysTick_Handler
на нужный мне источник прерывания.


2) Функция, в которой настраивается systick
#if configOVERRIDE_DEFAULT_TICK_CONFIGURATION == 0
void vPortSetupTimerInterrupt( void )
{
..............
Заботливо взята в дефайн configOVERRIDE_DEFAULT_TICK_CONFIGURATION , и выставив этот дефайн в 1 можно определять свою функцию vPortSetupTimerInterrupt

3) Однако, функция для усыпления системы
__weak void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime )
содержит строчки вроде
portNVIC_SYSTICK_CTRL_REG &= ~portNVIC_SYSTICK_ENABLE_BIT;
т.е. работает напрямую с systic таймером , без возможности выбрать его через дефайн, и стало быть её надо поправить руками.


Заранее спасибо за советы !


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post



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

 


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


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