STM32F103의 블럭도를 자세히 보면 타이머 블럭이 APB2버스에 하나, APB1버스에 세개, 모두 4개의 타이머가 연결되어 있는것을 볼 수 있다.이렇게 여러개의 타이머 블럭들이 주변장치의 한가지로 버스에 연결되어 있는데, powerPC나 MIPS CPU의 경우 CPU core 안에 OS에서 사용할 수 있도록 시스템 타이머가 기본적으로 들어 있다.ARM의 경우에는 이러한 시스템타이머가 없었는데 Cortex 시리즈가 나오면서 ARM 코어 내에 시스템 타이머가 기본으로 들어가게 되었다.당연히 Cortex-M3 코어가 내장되어 있는 STM32F103에도 시스템 타이머가 들어가 있다.이번 글에서는 이 시스템 타이머를 이용하여 정확한 delay() 함수를 구현해 보도록 하겠다.Datasheet 문서의 클럭체계..
이번글에서는 STM32F103에서의 UART 설정 방법에 대해서 설명하도록 하겠다.UART의 동작 원리에 대해서는 AVR 입문과정 UART - 원리와 연결에서 이미 설명하였기 때문에 여기에서는 UART 설정 부분에 대해서만 설명하도록 하겠다.위의 그림에서 보는바와 같이 STM32F103에는 모두 3개의 UART 블럭이 있다. UART1은 APB2버스에 연결되어 있고, UART2,3은 APB1 버스에 연결되어 있다.이 글에서는 UART1만 고려해서 설명하게 된다. UART2,3에 대해서는 UART1 설정 방법과 동일하고 단지, 버스가 달라짐과 사용하는 핀번호가 다른것만 주의해서 설정하면 큰 어려움 없이 사용가능할 것이다. UART1을 사용하기 위한 핀번호는 PA9와 PA10이다. 특히 TX핀이 PA9에 할..