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

 
 
> TE-LPC2478LCD+PowerPack, Немогу разобраться с UART
Тоша
сообщение May 30 2011, 13:38
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 13-08-10
Пользователь №: 58 896



Помогите начинающему.
Работаю в IAR 5.41. Взял за основу пример из EXAMPLE PROJECTS,PowerPac Touch Screen demo. Немного помогли переделать под эту плату.
Суть проблемы в том что UART через прерывания работает жутко медленно, как можно это всё оптимизировать. И есть ли там DMA. Потому что при выводе принятых данных на LCD, у него снижается отклик либо вообще не реагирует тачскрин.

Инициализация UART1
Код
void UART1_Initialize(Int32U baudrate)
{
  Int32U Fdiv;
  
  PINSEL0_bit.P0_15 = 0x1;//Ноги
  PINSEL1_bit.P0_16 = 0x1;//Ноги  
  PINMODE0_bit.P0_15 = 0x2;//Отключаем подтяжки
  PINMODE1_bit.P0_16 = 0x2;//Отключаем подтяжки

  
// PINMODE1_bit.P0_17 = 0x2;//Отключаем подтяжки  
  
  PCONP_bit.PCUART1 = 1;      //PCONP
  PCLKSEL0_bit.PCLK_UART1 = 0;//Clock
  
  U1LCR = 0x83;//8 bits, no Parity, 1 Stop bit  
  
  //Fdiv = ((SYS_FREQ/4)/16*256)/baudrate;//делитель                          
  //U3DLL = //Fdiv;//Пишем в регистр
  //U3DLM = 0;//Пишем в регистр    
  
  Fdiv = ( SYS_FREQ / 64 ) / baudrate;    /*baud rate */
  U1DLM = Fdiv / 256;    //    U1DLM =                     
  U1DLL = Fdiv % 256;   //

  U1FCR = 0x07;        /* Enable and reset TX and RX FIFO. */    
  U1LCR = 0x03;        /* DLAB = 0 */
    
/*  // Настроим прерывание
  VIC_SetVectoredIRQ( (void (*)()) UART1Handler, 0xFF, //priority
                        VIC_UART1);*/
  U1IER_bit.RDAIE = 1; /* Enable UART1 interrupt */
// VICINTENABLE_bit.UART1 = 1;
//__REG8  RTSEN : 1;
//__REG8  CTSEN : 1;
  U1MCR_bit.RTSEN=0;
  U1MCR_bit.CTSEN=0;  

  
  OS_ARM_InstallISRHandler(VIC_UART1, (void(*)()) UART1_Handler);
  OS_ARM_EnableISR(VIC_UART1);
}


Обработчик прерывания
Код
void UART1_Handler()
{
  if(U1IIR_bit.IID == 2)// char received
  {
   RxBuf=U1RBR;//Читам значение из регистра
   .... Делаем что либо с принятыми данными.
   }
}


Если есть примеры нормальной работы с UART дайте пожалуйста или помогите советом.
Go to the top of the page
 
+Quote Post



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

 


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


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