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

 
 
> Как считать значение аппаратно-программного таймера...
Alechin
сообщение Nov 3 2006, 10:50
Сообщение #1


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

Группа: Свой
Сообщений: 158
Регистрация: 27-06-05
Из: Химки, Моск.обл.
Пользователь №: 6 334



Есть некий системный таймер, построенный на аппаратном таймере контроллера и расширенный его программным счетчиком (по переполнению таймера) (пример - 32-ух разрядный счетчик микросекунд системного времени). Задача - чтение на лету его значения. Пока без остановки таймера это сделать у меня не получается (периодически получалась рассинхронизация переполнения счетчика аппаратного таймера и еще не инкрементированного старшего слова).
Но при останове таймера происходит потеря точности счета. Приходится корректировать значение. Т.е. все довольно сложно. Какие еще могут быть варианты?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
prottoss
сообщение Nov 7 2006, 14:48
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Может быть вот так?
Код
__interrupt void SPEED_SENS_isr(void)
{
   register UINT  tcnt1_reg = TCNT1;
   register UCHAR tifr_reg = TIFR;
      
   /* запоминаем текущее время */
    Pulse.Time[Pulse.Start] = MAKEULONG(LOWORD(g_SysTIME_ms),tcnt1_reg);
    Pulse.TIFR_reg = tifr_reg;

    /* формируем новый индекс для стартового времени */
    Pulse.Start ^= 1;
}

ну а в функции возврата периода импульса все считать...

Вот что получилось в Release:

Код
...

0000001C   B72F               IN      R18, 0x3F
    141             register UINT  tcnt1_reg = TCNT1;
   \   0000001E   B54C               IN      R20, 0x2C
   \   00000020   B55D               IN      R21, 0x2D
    142              register UCHAR tifr_reg = TIFR;
   \   00000022   B628               IN      R2, 0x38

...


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Alechin   Как считать значение аппаратно-программного таймера...   Nov 3 2006, 10:50
- - =GM=   Цитата(Alechin @ Nov 3 2006, 10:50) Есть ...   Nov 3 2006, 11:19
|- - Alechin   ЦитатаЕсли переполнение таймера обрабатывается пре...   Nov 3 2006, 12:46
|- - CDT   Цитата(Alechin @ Nov 3 2006, 15:46) (я по...   Nov 3 2006, 13:11
|- - Alechin   ЦитатаА если по подробней о задаче и поискать друг...   Nov 3 2006, 13:37
|- - singlskv   Покажите свой код. Попробуем подправить.   Nov 3 2006, 15:01
||- - Alechin   Цитата(singlskv @ Nov 3 2006, 18:01) Пока...   Nov 3 2006, 19:37
||- - singlskv   Цитата(Alechin @ Nov 3 2006, 22:37) А чег...   Nov 3 2006, 20:24
|- - CDT   О точности измерения частоты опять промолчали. Ес...   Nov 7 2006, 05:31
|- - prottoss   Цитата(CDT @ Nov 7 2006, 12:31) О точност...   Nov 7 2006, 05:47
|- - CDT   Цитата(prottoss @ Nov 7 2006, 08:47) [ Че...   Nov 7 2006, 06:36
|- - prottoss   Цитата(CDT @ Nov 7 2006, 13:36) Тогда для...   Nov 7 2006, 06:54
|- - prottoss   2 Alechin Че й то я так и не понял проблемы. Я де...   Nov 7 2006, 07:04
|- - Alechin   ЦитатаЧе й то я так и не понял проблемы. Я делаю в...   Nov 7 2006, 12:34
||- - prottoss   Цитата(Alechin @ Nov 7 2006, 19:34) Отлич...   Nov 7 2006, 12:54
||- - =GM=   Цитата(Alechin @ Nov 7 2006, 12:34) У мен...   Nov 7 2006, 14:24
||- - singlskv   Цитата(=GM= @ Nov 7 2006, 17:24) Попробуй...   Nov 7 2006, 14:34
||- - =GM=   Цитата(singlskv @ Nov 7 2006, 14:34) Цита...   Nov 7 2006, 15:36
|- - singlskv   2 prottoss Цитата(prottoss @ Nov 7 2006, 10...   Nov 7 2006, 13:49
|- - prottoss   Цитата(singlskv @ Nov 7 2006, 20:49) 2 pr...   Nov 7 2006, 14:06
|- - singlskv   Цитата(prottoss @ Nov 7 2006, 17:06) Цита...   Nov 7 2006, 14:22
|- - prottoss   Цитата(singlskv @ Nov 7 2006, 21:22) В Ва...   Nov 7 2006, 14:37
|- - singlskv   Цитата(prottoss @ Nov 7 2006, 17:37) Цита...   Nov 7 2006, 14:56
|- - prottoss   Цитата(singlskv @ Nov 7 2006, 21:56) А ко...   Nov 7 2006, 15:23
|- - singlskv   Цитата(prottoss @ Nov 7 2006, 18:23) Цита...   Nov 7 2006, 16:18
|- - prottoss   Цитата(singlskv @ Nov 7 2006, 23:18) Пред...   Nov 7 2006, 16:30
|- - singlskv   Цитата(prottoss @ Nov 7 2006, 19:30) У на...   Nov 7 2006, 16:47
|- - prottoss   Цитата(singlskv @ Nov 7 2006, 23:47) Нет,...   Nov 7 2006, 16:52
|- - singlskv   Цитата(prottoss @ Nov 7 2006, 19:52) Цита...   Nov 7 2006, 17:02
|- - prottoss   Цитата(singlskv @ Nov 8 2006, 00:02) Совт...   Nov 7 2006, 17:18
|- - singlskv   Цитата(prottoss @ Nov 7 2006, 20:18) Мне ...   Nov 7 2006, 18:41
|- - prottoss   Цитата(singlskv @ Nov 8 2006, 01:41) Вы о...   Nov 7 2006, 19:06
|- - singlskv   Цитата(prottoss @ Nov 7 2006, 22:06) КодU...   Nov 7 2006, 19:55
|- - prottoss   Цитата(singlskv @ Nov 8 2006, 02:55) Толь...   Nov 7 2006, 20:14
|- - singlskv   Цитата(prottoss @ Nov 7 2006, 23:14) Хм, ...   Nov 7 2006, 20:38
|- - prottoss   Цитата(singlskv @ Nov 8 2006, 03:38) Цита...   Nov 7 2006, 21:06
- - singlskv   Цитата(Alechin @ Nov 3 2006, 13:50) Есть ...   Nov 3 2006, 11:20
- - xemul   имхо, при входе в п/п обработки прерываний по вход...   Nov 3 2006, 16:34
- - prottoss   Продолжая свой пост, скажу, что счетчик TCNT1 инкр...   Nov 7 2006, 16:10
- - ARIM   Цитата(Alechin @ Nov 3 2006, 13:50) Есть ...   Nov 8 2006, 07:00
- - ARIM   Цитата(Alechin @ Nov 3 2006, 13:50) Какие...   Nov 8 2006, 07:44
|- - prottoss   Цитата(ARIM @ Nov 8 2006, 14:44) Цитата(A...   Nov 8 2006, 08:09
|- - ARIM   Цитата(prottoss @ Nov 8 2006, 11:09) Цита...   Nov 8 2006, 08:46
|- - defunct   Цитата(ARIM @ Nov 8 2006, 11:46) или возь...   Nov 9 2006, 17:09
|- - prottoss   Цитата(ARIM @ Nov 8 2006, 15:46) или возь...   Nov 9 2006, 17:40
|- - ARIM   Цитата(prottoss @ Nov 9 2006, 20:40) Цита...   Nov 10 2006, 06:51
|- - prottoss   Цитата(ARIM @ Nov 10 2006, 13:51) Цитата(...   Nov 10 2006, 12:40
|- - ARIM   Цитата(prottoss @ Nov 10 2006, 15:40) Цит...   Nov 10 2006, 12:59
|- - prottoss   Цитата(ARIM @ Nov 10 2006, 19:59) АРМ был...   Nov 10 2006, 13:19
- - prottoss   Вчера проверил все то, что выкладывал выше на трех...   Nov 9 2006, 16:49
- - Alechin   Цитата(prottoss @ Nov 9 2006, 19:49) А чт...   Nov 9 2006, 19:00
- - singlskv   Цитата(Alechin @ Nov 9 2006, 22:00) Цитат...   Nov 9 2006, 19:27
- - prottoss   Цитата(singlskv @ Nov 10 2006, 02:27) Цит...   Nov 10 2006, 12:13


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

 


RSS Текстовая версия Сейчас: 21st August 2025 - 16:37
Рейтинг@Mail.ru


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