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의 내장 딜레이 함수 사용하고 싶지 않을때, 만들면 좋다 !

'F💻W > Coding' 카테고리의 다른 글

c언어 uint8_t 16진수 변수 10진수 시리얼 출력 방법  (0) 2024.01.12
Atmega로 UART, SPI 통신 구현  (0) 2023.12.04
ATMEGA UART 출력  (0) 2023.11.21
gpio mode 참고  (0) 2023.07.10
Silicon Lab EFR32 코드 분석  (0) 2023.06.26
[STM32F030C6T6] Bootloader 구현  (3) 2023.03.30