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

 
 
> LPC2387 сбросить бит THRE
megajohn
сообщение Dec 28 2011, 12:34
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



в, общем есть такая задача - передавать по UART сначала по поллингу U0LSR & TEMT, а по завершению передачи, разрешить прерывание U0IER |= THRE (1 << 1)
но сразу же вываливаюсь в прерывание VICIRQ_UART0

вопрос, как вручную сбросить флаг THRE в U0LSR чтобы не возникало прерывания по разрешению ?

согласно UM10211 это можно сделать так: The THRE interrupt is reset when a UnTHR write occurs or a read of the UnIIR occurs and the THRE is the highest interrupt (UnIIR[3:1] = 001).
пробую после передачи читать U0IIR результат, получается 0b00000000000000000000000011000001 что не соответствует маске THRE и соовтесвенно по разрешению U0IER |= THRE влетаю в VICIRQ_UART0

Сообщение отредактировал megajohn - Dec 28 2011, 12:36


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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