Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Прерывания uart
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
Kruftin
Можно ли запретить прерывания по Rxd (приему) во время выполнения основной программы? Есть какая-то команда?Ну и потом опять через какое-то время надо их разрешить.
Палыч
Цитата(Kruftin @ Jun 4 2012, 17:49) *
Можно ли запретить прерывания по Rxd (приему) во время выполнения основной программы? Есть какая-то команда?Ну и потом опять через какое-то время надо их разрешить.

Хорошо бы указывать для какого МК сформулирован вопрос...
Если - для AVR, то да: в регистре UCSRB (USART Control and Status Register B ) за это отвечает бит RXCIE (RX Complete Interrupt Enable).
Kruftin
Ну для атмеги32, спасибо за ответ. А если у меня еще вот такая строчка есть interrupt [USART_RXC] void usart_rxc_my(void)
kovigor
Цитата(Kruftin @ Jun 4 2012, 18:10) *
А если у меня еще вот такая строчка есть interrupt [USART_RXC] void usart_rxc_my(void)


Ну и что ? Это же заголовок функции-обработчика прерывания. Запретите прерывание, и она просто не получит управления ...
kolobok0
Цитата(Kruftin @ Jun 4 2012, 17:49) *
Можно ли запретить прерывания по Rxd (приему)...


можно. явно сбрасываете бит у необходимого usart. делать можно на любой фазе. хоть в обработчике прерывания, хоть из программы. но надо чётко понимать процессы происходящие в железе. исчерпывающе поможет даташит на данные кристалл.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.