F💻W/Coding

STM32 개발 시, delay 함수 직접 구현해서 사용해보자 !

천숭이 2023. 12. 6. 15:31

STM32F205RBT6 데이터시트를 참고하면

120 MHz 의 최대주파수로 동작하는 것을 확인 가능하다.

데이터시트 첫번째 장, Feature summary를 통해 빠르게 확인 가능

 

 

 

1us의 딜레이를 수행할 시 ,

asm("nop");  // CPU에게 아무런 작업도 하지 말라는 명령어

동작을 최대주파수만큼 실행한다

asm("nop")을 mcu의 주기만큼 작성하면 1us

 

만약 여러가지 통신과 기능이 구현되어 있다면, 스코프에서 확인하면 살짝의 오차가 발생하는 것을 확인할 수도 있다!

 

 

1us 를 구현했으니,

10us->100us ->1ms 까지 함수를 만들어 사용이 가능하다.

 

stm의 내장 딜레이 함수 사용하고 싶지 않을때, 만들면 좋다 !