32F429IDISCOVERY TrueSTUDIO에서 SPL로 UART 송신 제어

2019. 6. 18. 21:10임베디드/32F429IDISCOVERY

 

UART는 비동기통신 프로토콜 중 하나로 데이터를 송수신 하는데 있어 정말 간편하다. 실제론 데이터 송수신보다는 하드웨어 디버깅을 위해서 많이 쓰인다. 아래 포스팅에서는 USART는 편하게 UART로 줄여서 명명하도록 하겠다. 위 그림의 프로토콜을 보면 하위비트를 먼저 보내는 것을 알 수 있다

 

STM32F429XX 데이터시트를 참고하면, UART1은 APB2 버스에 연결되었음을 알 수 있고, APB2와 기존 LED를 사용하기 위해서 AHB1 클럭을 반드시 열어야만 한다

 

 

소스코드: https://github.com/surinoel/stm32/blob/master/32F429IDISCOVERY/workspace/SPL_uart_tx/src/main.c

주의사항 

1. GPIO_InitTypeDef로 반드시 AF 선언을 해야한다

2. 선언을 마치고 나서도 GPIO_PinAFConfig도 필수

3. USART_SendData는 한 바이트씩만 송신이 되어 따로 함수를 만들었다

4. 송신할 때 반드시 송신완료 상태레지스터를 검사하자