본문 바로가기

Cortex-M/INFINEON

XMC1300 EVM - UART 테스트 (Infineon Cortex-M0)

[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;

}


반응형