Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Как сделать программную задержку на ATMega16 с дискретностью в один такт контроллера?
Отправлено
tivocr
01 мая 2008 г. 13:22
т.е. в зависимости от содержимого например какого-нить регистра задержка должна быть 10 или 11 или 12... тактов
Составить ответ
|
Вернуться на конференцию
Ответы
Тоже на скорую руку - именно устранение джиттера входа в прерывание, вплоть до нулевого. Ну если янигде не ошибся.
—
ReAl
(01.05.2008 17:34:6
89.162.152.53
, 884 байт)
Красиво!
—
MBedder
(01.05.2008 19:26:51
80.92.96.19
,
пустое
)
Ответ:
—
Спунер
(01.05.2008 18:41:20
217.118.66.33
,
пустое
,
ссылка
)
Вот мой quick and dirty вариант для 11..255 тактов(+)
—
MBedder
(01.05.2008 15:57:47
80.92.96.19
, 858 байт)
Ну вот, только сел писать - собака под локоть мокрым носом - "гулять пора". Возвращаешся, а тут уже всё написано :-) Но я всё равно свой вариант именно под данную задачу выше даю.
—
ReAl
(01.05.2008 17:19:18
89.162.152.53
,
пустое
)
Вот мой пример:
—
Леонид Иванович
(01.05.2008 13:51:17
87.252.227.57
,
пустое
,
ссылка
)
Лёгким движением руки это превращается в минимум 15
—
ReAl
(01.05.2008 17:17:26
89.162.152.53
, 375 байт)
Я переделал *подпрограмму* Леонида Ивановича на работу до меньших задержек. И оставил как подпрограмму. А исходную задачу вообще по другому предлагаю решить - если задержка входа была равна максимальной предусмотренной, то задержка в выравнивателе будет нулевая.
—
ReAl
(01.05.2008 17:37:48
89.162.152.53
,
пустое
,
ссылка
)
а ret зачем ? :-)
—
DASM
(01.05.2008 17:18:54
212.58.208.91, 212.58.192.14
,
пустое
)
спасибо. это подойдет(+)
—
tivocr
(01.05.2008 14:34:37
195.60.174.21
, 145 байт)
Выше мой вариант от 11 до 255 тактов -->
—
MBedder
(01.05.2008 16:00:9
80.92.96.19
,
пустое
,
ссылка
)
Ответ: ============>>>>>>>>>>>>>>>>>
—
Спунер
(01.05.2008 18:49:20
217.118.66.33
,
пустое
,
ссылка
)
в IAR использовать встроенную функцию __delay_cycles()
—
omen
(01.05.2008 13:47:58
89.223.6.202
,
пустое
)
Ты ещё, блять, скажи целую библиотеку нужно юзать..API, бля
—
Спунер
(01.05.2008 14:52:15
217.118.66.19
,
пустое
)
Народ!!! Вы правда такие ебанутые или прикидываетесь?
—
Спунер
(01.05.2008 14:52:48
217.118.66.19
,
пустое
)
она принимает регистр как параметр ??
—
DASM
(01.05.2008 13:48:39
212.58.208.91, 212.58.192.14
,
пустое
)
а, внутренность то я и не прочитал :)
—
omen
(01.05.2008 13:49:30
89.223.6.202
,
пустое
)
10...12 дипазон - составить заранее несколько подпрограмм типа nop nop nop и вызывать их посредством icall в зависимости от этого регистра (туда адрес загоняется). Других путей что-то пока не вижу. Более 17 - недавно обсуждали
—
DASM
(01.05.2008 13:33:41
212.58.208.91, 212.58.192.14
,
пустое
)
Вобще задача такая (+)
—
tivocr
(01.05.2008 14:12:11
195.60.174.21
, 495 байт)
А зачем точный запуск подпрограммы по времени? Выходной сигнал OCx не поможет в этой задаче?
—
Леонид Иванович
(01.05.2008 14:37:8
87.252.227.57
,
пустое
)
(+)
—
tivocr
(01.05.2008 14:48:29
195.60.174.21
, 198 байт)
а зачем такой точный то ?
—
DASM
(01.05.2008 14:49:46
212.58.208.91, 212.58.192.14
,
пустое
)
Чтоб джиттера не было
—
tivocr
(01.05.2008 15:01:36
195.60.174.21
,
пустое
)
Ответ:
—
Спунер
(01.05.2008 15:09:39
217.118.66.19
,
пустое
,
ссылка
)
(+) =========>>>>>>>>>>>>>
—
Спунер
(01.05.2008 15:28:42
217.118.66.19
,
пустое
,
ссылка
)
нормально вроде... тут как раз Леонид Иваныча задержка расчетиваемая и подойдет. А чего такая неопределенность отработки прерывания большая ?
—
DASM
(01.05.2008 14:17:1
212.58.208.91, 212.58.192.14
,
пустое
)
х.з. точно посчитать затрудняюсь(+)
—
tivocr
(01.05.2008 14:28:5
195.60.174.21
, 475 байт)
короче введение доп. задерки в Вашем варианте мне видится вполне удачным решением, хоть и не профи я
—
DASM
(01.05.2008 14:35:10
212.58.208.91, 212.58.192.14
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 90:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru