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();
:
}
}
반응형