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

 
 
> LPC2292 передача данных через UART, обслуживание прерывания THR FIFO is empty
HEX
сообщение Mar 19 2008, 07:06
Сообщение #1


Участник
*

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



Нет уверености что делаю правельно. Как заполнить FIFO отсылки в одном прерывании THRE?

Обработчик прерывания:
Код
void UART_IRQHandler(void)
{
  Byte B;
  Byte Er;
  Byte Src;

  do {
    Src = U1IIR;
    switch(Src & 0x0E) {
      //Er
      case 0x06: {
        Er = U1LSR;
        break;
      }
      //RxData
      case 0x04: {
        while (U1LSR_bit.DR != 0)
          InQueue.Put(U1RBR);
        break;
      }
      //CTI
      case 0x0C: {
        while (U1LSR_bit.DR != 0)
          InQueue.Put(U1RBR);
        break;
      }
      //THRE
      case 0x02: {
        if (OutQueue.Get(&B))
          U1THR = B;
        break;
      }
    }
  }
  while((Src & 0x01) == 0);
}


Заранее спасибо.
Go to the top of the page
 
+Quote Post



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

 


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


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