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

 
 
 
Reply to this topicStart new topic
> Прерывания uart
Kruftin
сообщение Jun 4 2012, 13:49
Сообщение #1


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

Группа: Участник
Сообщений: 115
Регистрация: 30-05-11
Из: Екатеринбург
Пользователь №: 65 365



Можно ли запретить прерывания по Rxd (приему) во время выполнения основной программы? Есть какая-то команда?Ну и потом опять через какое-то время надо их разрешить.
Go to the top of the page
 
+Quote Post
Палыч
сообщение Jun 4 2012, 14:03
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Kruftin @ Jun 4 2012, 17:49) *
Можно ли запретить прерывания по Rxd (приему) во время выполнения основной программы? Есть какая-то команда?Ну и потом опять через какое-то время надо их разрешить.

Хорошо бы указывать для какого МК сформулирован вопрос...
Если - для AVR, то да: в регистре UCSRB (USART Control and Status Register B ) за это отвечает бит RXCIE (RX Complete Interrupt Enable).
Go to the top of the page
 
+Quote Post
Kruftin
сообщение Jun 4 2012, 15:10
Сообщение #3


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

Группа: Участник
Сообщений: 115
Регистрация: 30-05-11
Из: Екатеринбург
Пользователь №: 65 365



Ну для атмеги32, спасибо за ответ. А если у меня еще вот такая строчка есть interrupt [USART_RXC] void usart_rxc_my(void)

Сообщение отредактировал Kruftin - Jun 4 2012, 15:41
Go to the top of the page
 
+Quote Post
kovigor
сообщение Jun 4 2012, 18:13
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Kruftin @ Jun 4 2012, 18:10) *
А если у меня еще вот такая строчка есть interrupt [USART_RXC] void usart_rxc_my(void)


Ну и что ? Это же заголовок функции-обработчика прерывания. Запретите прерывание, и она просто не получит управления ...
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Jun 7 2012, 11:20
Сообщение #5


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(Kruftin @ Jun 4 2012, 17:49) *
Можно ли запретить прерывания по Rxd (приему)...


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

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 16:49
Рейтинг@Mail.ru


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