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

 
 
> минимальный период срабатывания таймера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
Ответов
RuSTA
сообщение Sep 16 2016, 17:39
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 25-10-10
Из: Россия
Пользователь №: 60 410



Не забывайте что, дерганье ногой через порт, происходит по APB шине, следовательно и к ней еще доступ уходит, плюс к этому шины могут работать на разных частотах. Даже если в цикле дрыгать ногой то выше ~1 МГц не подняться. В вышем случае лучше шим настроить.
Go to the top of the page
 
+Quote Post



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

 


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


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