본문 바로가기

[TI]/LuminaryMicro

Luminary Micro Cortex-M3 UART H/W FIFO 사용하기

Luminary Micro Cortex-M3 UART H/W FIFO 사용하기

Luminary Micro Cortex-M3 는 H/W UART FIFO가 있어 UART처리가 상당히 편리하다.




FIFO Operation


LM3S608 UART FIFO 테스트 예제 코드
기존 S/W FIFO를 만들어 사용하던 코드를 그대로 사용하기 위해 #define문으로 코드를 약간 수정하였다.

#define IsRingEmpty()               !UARTCharsAvail(UART0_BASE)
#define GetRingBuffer()             UARTCharGetNonBlocking(UART0_BASE)

void UARTIntHandler1(void)
{
    unsigned long ulStatus;

      // Get the interrrupt status.
      ulStatus = UARTIntStatus(UART0_BASE, true);

      // Clear the asserted interrupts.
      UARTIntClear(UART0_BASE, ulStatus);

     ProcessDataPacket();
}


void ProcessDataPacket(void)
{
 unsigned char rx_data;

  //수신패킷 처리
  if(!IsRingEmpty())
  {
   rx_data = GetRingBuffer();
         :
  }
}

반응형