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

 
 
> Как считать значение аппаратно-программного таймера...
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
Ответов
xemul
сообщение Nov 3 2006, 16:34
Сообщение #2



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



имхо, при входе в п/п обработки прерываний по входам можно устанавливать дополнительный флажок входа в эти прерывания, который сбрасывается после считывания TCNT1 или в п/п обработки прерывания TCNT1. Запрещать прерывание TCNT1 нужно только на время считывания TCNT1. Если после считывания TCNT1 флаг уже сброшен, необходимо скорректировать результат на время обработки прерывания TCNT1/(прескалер=8).
Можно воспользоваться задержкой инкремента TCNT1 в прескалере и корректировать результат примерно так:
Код
tl=TCNT1L;
th=TCNT1H;
if(th!=TCNT1H) {
   tl=0;
   if(!++th) BigCnt++;
}

Т.к. нельзя исключить одновременных/наложенных прерываний от нескольких входов, стОит по прерыванию от любого входа проверять наличие прерываний от других входов и обрабатывать их с одним временем события.
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
- - prottoss   Может быть вот так? Код__interrupt void SPEED_SENS...   Nov 7 2006, 14:48
- - 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 July 2025 - 17:24
Рейтинг@Mail.ru


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