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

 
 
> Как сделать задержку?, AT91rm9200 AS-9200
Daermon
сообщение Nov 21 2007, 10:40
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 36
Регистрация: 26-10-07
Пользователь №: 31 739



При работе с АЦП нужны небольшие интервалы? Например 40нс держать RD, или CS... и т.п.
Хочу сделать метод
inline void Wait(unsigned int ns)
{
тут поставить ожидание с пустыми циклами...только не могу точно задать интервал, так как не уверен
за сколько выполнится та или иная операция.



}
Вот параметры кварцев

#define PLLAR 0x2026BF04 //* 179,712000 MHz for PCK
#define PLLBR 0x10483F0E //* 48,054857 MHz (divider by 2 for USB)
#define MCKR 0x00000202 //* PCK/3 = MCK Master Clock = 59,904000MHz with PLLA selected
#define SLOWCLOCK 32768 //* In Hz
#define MAIN_OSC_CLK 18432000 //* In Hz

Есть какие нибудь др способы, точно задать маленькие интервалы задержки? Таймеры с прерываниями не предлагать.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение Nov 21 2007, 12:26
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Daermon @ Nov 21 2007, 12:40) *
тут поставить ожидание с пустыми циклами...только не могу точно задать интервал, так как не уверен
за сколько выполнится та или иная операция.
Сделайте цикл до миллиона, измерьте получившееся время, поделите на миллион, получите время одной итерации.
Цитата(Daermon @ Nov 21 2007, 12:40) *
Таймеры с прерываниями не предлагать.
А таймеры без прерываний?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post



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

 


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


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