[XMC1300 EVM] - UART 테스트 (Infineon Cortex-M0)
XMC1300는 UART, SPI,I2C,I2S통신을 위한 모듈이 하나의 통합된 모듈로 2채널 존재한다
하나의 통합된 모듈이기 때문에 소프트웨어 적으로는 거의 동일하게 설정해서 사용할 수 있기 때문에 편리하다. 하지만 동시에 여러 통신 채널을 사용하는 어플리케이션에는 문제가 발생 할 수 있다
XMC1300 UART 블록도
여러 통신모듈이 레지스터를 공유하기 때문에 다소 복잡해 보인다
하지만 몇가지 레지스터만 학인하면 쉽게 UART통신이 가능하다
TDV
bit7
Transmit Data Valid
전송버퍼 (TBUF)의 데이터 상태를 나타내는 비트로 1이면 정상 전송되었음을 나타낸다.의 can be considered as valid for
REMPTY 3 rh Receive Buffer Empty
This bit indicates whether the receive buffer is
empty.
0B The receive buffer is not empty.
1B The receive buffer is empty.
TEMPTY 11 rh Transmit Buffer Empty
This bit indicates whether the transmit buffer is
empty.
0B The transmit buffer is not empty.
1B The transmit buffer is empty.
XMC1300 UART 송수신 함수
unsigned char U0_GetByte(void)
{
while((USIC0_CH1->TRBSR&BIT3));
return USIC0_CH1->OUTR;
}
void U0_PutByte(unsigned char Data)
{
while(USIC0_CH1->TCSR & BIT7);
USIC0_CH1->TBUF[0] = Data;
}