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

 
 
> arm lpc2132 как замерить время?
yzhastik
сообщение Dec 20 2010, 16:16
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 20-12-10
Пользователь №: 61 759



как в программе определить разницу времени между двумя моментами? (порядки около микросекунд)

Сообщение отредактировал yzhastik - Dec 20 2010, 16:18
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
yzhastik
сообщение Dec 21 2010, 15:05
Сообщение #2





Группа: Новичок
Сообщений: 5
Регистрация: 20-12-10
Пользователь №: 61 759



rezident, спасибо за методику!

но тем не менее как это сделать в программе до сих пор непонятно (как инициализировать, как считывать значения...)
хелпы разбераю, но переправить под себя не могу... может кому нибудь не лень будет написать готовый код за большое спасибо? sm.gif
Go to the top of the page
 
+Quote Post
esaulenka
сообщение Dec 23 2010, 14:28
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Цитата(yzhastik @ Dec 21 2010, 18:49) *
я писал прогу в обычном С, я бы сделал так:

Ой-ой. Это у нас теперь "обычный Си"? А господин Керниган в курсе? sm.gif

Цитата(yzhastik @ Dec 21 2010, 21:05) *
кому нибудь не лень будет написать готовый

Лень. И в воспитательно-методических целях вредно sm.gif
Раздел про таймеры юзер мануала придётся всё-таки прочитать. Если догадаться, что match и capture в данном случае не нужны совсем, читать придётся меньше десятка страниц.

Лучше я расскажу методику № 2.

Настраиваем таймер, чтобы он инкрементировался каждую микросекунду. Запускаем.
Перед стартом измеряемой функции запоминаем значение счётчика таймера, а по окончанию - вычитаем запомненное значение из текущего. Готово!

Вариант имеет плюс - прерывание по переполнению не нужно, можно мерять весьма короткие интервалы, и минус - насколько мне известно, поведение арифметических действий при переполнении в стандарте Си не оговорена.
В данном конкретном случае всё хорошо, если счётчик таймера и переменная для сохранения - беззнаковые, одинаковой разрядности (для LPC2132 - unsigned long).


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 23:11
Рейтинг@Mail.ru


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