MCU/Learn STM32F103 basics

[stm32f103] micros(), delay_us() 사용하기

mle21 2024. 2. 26. 06:00
반응형

STM HAL 라이브러리에서 기본 제공하는 딜레이 함수는 HAL_Delay(), 카운터 함수는 HAL_GetTick() 이다. 이 두함수는 모두 ms 단위로 동작한다. 그러나 프로그래밍을 하다보면 us 단위로 제어가 필요한 경우가 있다. 이에 us 단위의 카운터, 딜레이 함수의 사용 방법에 대해서 알아보자.


1. 아래 깃허브를 통해 micros.h 파일 다운로드

 

GitHub - t-shaped-person/micros

Contribute to t-shaped-person/micros development by creating an account on GitHub.

github.com

 

2. micros.h 파일 참조

#include "micros.h"

 

3. DWT 초기화

DWT_Init();

 

4. delay_us() 사용

delay_us(500);
# 500us 딜레이 적용

 

5. micros() 사용

uint32_t us_tick = micros();
# micros() 함수의 반환형은 uint32_t

 

@ micros() 함수는 실제로 사용해 봤는데 먼가 이상하다.

라이브러리를 새로 업데이트 하거나 사용하지 말아야 하겠다.


728x90