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

 
 
> ? функция delay() без использования таймеров
alm_
сообщение Feb 8 2006, 12:28
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 25
Регистрация: 2-02-06
Пользователь №: 13 904



Необходимо отмерить задержки в миллисекундах с с точностью до 5%. Очевидно, что при использовании С для различных компиляторов может быть различен. Вывод: необходимо использовать inline-функций на Asm. Но вот вопрос одинаковое ли количество тактов выполняются одни и те же команды для различных семейств (Tini,Classic,Mega) ?
Go to the top of the page
 
+Quote Post
2 страниц V  < 1 2  
Start new topic
Ответов (15 - 17)
cebotor
сообщение Jan 17 2009, 21:13
Сообщение #16


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

Группа: Свой
Сообщений: 135
Регистрация: 6-04-07
Из: Бронницы
Пользователь №: 26 809



Цитата(Halfback @ Jan 17 2009, 23:03) *
а в CAVR что решит проблемы?
использовал ф-цию delay_ms(10) дык вместо формирования меандра с Ти=10мс почему то Ти=2,5мс, т.е. приблизительно в 4 раза быстрее. Кварц. генератор = 2Мгц, МЦУ = Мега88.
ЧТо посоветуете? Писать новую функцию, запихивать в нее nop-ы путём подбора с осциллографом? Задача выдавать импульсы с погрешностью хотя бы 1мс - и с delay_ms такой облом. При помощи счетчиков не хотелось бы заморачиваться.

если delay_ms - это функция компилятора - то скорее всего вы декларируете ему не ту тактовую.
делать задержки в _милисекундах_ без прерываний - это когда "очень хочется странного", ели счетчик это вы про прерывания - то мороки минут на несколько . заставьте таймер щелкать с частотой 2 килогерца внутри декрементируйте счетчик и вуаля - погрешность 1 милисекунда.


--------------------
если еррата пуста - это не хорошо а плохо
Go to the top of the page
 
+Quote Post
Halfback
сообщение Jan 17 2009, 21:20
Сообщение #17


Местный
***

Группа: Участник
Сообщений: 322
Регистрация: 28-05-05
Пользователь №: 5 512



Цитата(cebotor @ Jan 18 2009, 00:13) *
если delay_ms - это функция компилятора - то скорее всего вы декларируете ему не ту тактовую.

декларирую точно ТУ тактовую - сделал даже отдельный проект для проверки. Остаётся только "крошить батон" на CAVR.
Go to the top of the page
 
+Quote Post
plombir
сообщение Jan 17 2009, 21:57
Сообщение #18


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

Группа: Участник
Сообщений: 99
Регистрация: 14-12-05
Пользователь №: 12 191



Цитата(Halfback @ Jan 17 2009, 23:03) *
...
Кварц. генератор = 2Мгц, МЦУ = Мега88.
...

Хитрый у Вас кварц.
А биты генератора, случаем, не на внутренние 8Mhz настроены?
Go to the top of the page
 
+Quote Post

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

 


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


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