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

 
 
> минимальный период срабатывания таймера1(2,3) 1986ВЕ1Т, не удаётся сделать меньше 1,5 мкс при HCLK 24MHz
NikP
сообщение Sep 1 2016, 05:40
Сообщение #1


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

Группа: Участник
Сообщений: 168
Регистрация: 25-08-05
Пользователь №: 7 944



В МК 1986ВЕ1Т потребовалось генерить интервалы кратные 1 мкс . Чтобы проверить возможность такого процесса в main() оставил только while(1) {}.

Прерывние обрабатывается так:
void TIMER2_Handler ()
{
TIMER2->STATUS =0 ;//сброс события прерывания
PORTD->RXTX = 0xFFFF ;
PORTD->RXTX = 0 ;
}
Однако при значениях TIMER2->ARR меньше 0x00000030 период срабатывания (выход - порт контролирую осциллографом) становится = 1,5 мкс и не меняется.
Явно связано с работой МК, но почему - не понял. Может кто подскажет? Тактовая частота МК 24МГц. Интервал между PORTD->RXTX = 0xFFFF ; и PORTD->RXTX = 0 ; равен 80 нс
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Plain
сообщение Sep 1 2016, 08:32
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 6 776
Регистрация: 5-03-09
Из: Москва
Пользователь №: 45 710



Всё верно, компаратор таймера естественно моментально и абсолютно точно формирует требуемые интервалы, и вопрос только в том, сколько тактов требуется на его (компаратора) каждый раз перепрограммирование, которое с такими хотелками естественно исключает хождение через прерывания.
Go to the top of the page
 
+Quote Post



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

 


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


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