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

 
 
> Нереализованные ф-ции в uCOS view port LPC2xxx, поделитесь вариантом реализации
zuy
сообщение May 30 2006, 06:52
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 173
Регистрация: 30-11-05
Из: San Francisco
Пользователь №: 11 593



Решил подключить модуль uCOS View к проекту на LPC2148, и обнаружил, что 2 ф-ции описанные в os_view.h:
OSView_TickHook
OSView_TimeGetCycles
Не имеют реализации, которая согласно доке, должна быть в OS_VIEWc.C.
В обшем-то пример их реализации есть в доке, но вот там меня смущает реализация OSView_TickHook:
Код
void OSView_TickHook (void)
{
  INT16U cnts16;
  INT16U delta;

  cnts16 = OSView_TmrRd();
  delta = cnts16 - OSView_TmrCntsPrev;
  OSView_CyclesCtr += delta;
  OSView_TmrCntsPrev = cnts16;
}

Я так понял, они ее дают для 16-ти битнога таймера с периодом от 0xFFFF. А если мой таймер имеет период 0x1D4C0 то нужно честно считать дельту в 32-х битном варианте, при этом учесть момент сброса таймера? Если можно покажите какой вы используете код для этой ф-ции, а то мне кажется я чего-то не учел и в результате показатели загружености процессора немного не так выглядят.
И еще вопрос, если OSView_TickHook вызывается при каждом прерывании по таймеру, то почему переменную delta не брать жестко равную периоду таймера? Или тут важно время которое прошло с момента срабатывания прерывания до прихода в OSView_TickHook ?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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