Microprocessor/STM32 STM32F407VET6 Delay 함수 설정
  • 728x90
    반응형

     

     

    Keil uVision5 컴파일러를 이용하여 STM32F407VET6 칩 동작

    system clock 을 사용한 Real Time Delay 함수를 사용는 방법에 대하여 설명한다.

    Keil uVision5 에서 제공하는 Stm32f4xx_hal.h 라이브러리에 아래와 같이 HAL_Delay 함수를 제공한다.

    문제점) Delay 함수 내부의 HAL_GetTick 함수의 반환 값이 계속 0으로 읽혀 Delay 함수가 제대로 동작되지 않았다.

     

    해결방법은 Startup Component 를 선택하면 생성되는 Startup_stm32f407xx.s파일 내용중 Systick_Handler함수를 main함수 내부에 생성하여 인터럽트를 처리해주면 된다.

     

    Systick_Handler핸들 내부에는 Stm32f4xx_hal.h라이브러리에서 제공되는 HAL_IncTick함수를 콜하여 Tick 을 발생시킨다.

     

    아래와 같이 main함수와 Systick_Handler함수를 구현하면 LED를 1초마다 ON/OFF 시키는 동작을 할 수 있다.

     

    동작결과

     

     

     

     

     

    728x90
    반응형

    'Microprocessor > STM32' 카테고리의 다른 글

    [STM32F103VCT6] LED on & off/Delay  (0) 2016.09.21
    STM32F407VET6 UART (RS-232)  (0) 2016.09.12
    STM32F407VET6 GPIO 동작 테스트  (0) 2016.09.07
    keil uVision5 환경설정  (0) 2016.09.06
    miniJLINK V2.0 Spec  (0) 2016.09.02
상단으로