ARM Cortex-M3 STM32F103VET6 보드를 이용한 LED제어 - LED 제어

on**** 2018-03-24 (토) 17:36 6년전 5308  

 

GPIO Port E 2번핀을 Output으로 체크 후 IAR로 들어갑니다

e141cd5700df9319a1a994455111b5b2_1521876

e141cd5700df9319a1a994455111b5b2_1521875
 

 

main.c의 아래쪽 함수를 확인하면 PE2를 Output으로 세팅된 걸 확인할 수 있습니다

 e141cd5700df9319a1a994455111b5b2_1521876 

 

나머지 부분은 CubeMX에서 자동으로 작성해주니 우리는 USER CODE로 주석된부분 사이에만 작성하면 됩니다

(그 외에는 CubeMX로 프로젝트를 열면 사라진다)

e141cd5700df9319a1a994455111b5b2_1521875

 

이번에 사용할 함수들

 

    HAL_GPIO_WritePin(GPIOE, GPIO_PIN_2,GPIO_PIN_RESET);  //PIN-SET 과 PIN-RESET을 이용하여 GPIO 핀을 제어

    HAL_GPIO_WritePin(GPIOE, GPIO_PIN_2,GPIO_PIN_SET);

 

    HAL_GPIO_TogglePin(GPIOE, GPIO_PIN_2); //해당 핀을 토글(1->0 , 0->1)

 

    HAL_Delay(1000); //딜레이 (1000당 1초)

 

아래 while문에서 첫번째 빨간 박스 안에 아래 두 줄을 입력해봅시다

HAL_GPIO_TogglePin(GPIOE, GPIO_PIN_2); 

HAL_Delay(1000); 

e141cd5700df9319a1a994455111b5b2_1521875 

Compile 후 Make

e141cd5700df9319a1a994455111b5b2_1521880
 

전원과 ST_LINK를 연결 (왼쪽 흰색 버튼은 올라온상태로 둔다=전원OFF)

e141cd5700df9319a1a994455111b5b2_1521880 

 

연결한곳 옆을 보면 부팅모드를 결정하는 핀이 8개 있습니다

1 2     ANY(연결x) OR 1과-2연결 = User Boot

3 4     2-4 1-3 = System Boot

5 6     3-4 1-3 = SRAM Boot

7 8

e141cd5700df9319a1a994455111b5b2_1521880

 

프로그램을 넣기 위해 System 모드로 부팅할 것입니다

System Boot를 위해 연결 후 흰색버튼을 눌러 전원 ON

(사진에서는 1-3 연결) 두줄을 입력해봅시다

e141cd5700df9319a1a994455111b5b2_1521881
e141cd5700df9319a1a994455111b5b2_1521881

IAR에서 작성한 프로그램을 다운로드
e141cd5700df9319a1a994455111b5b2_1521881
 

오류가 없다면 정상적으로 보드에 프로그램이 들어갔습니다

 

이제 LED와 보드를 연결해줄 차례

 

우선 흰색버튼을 눌러 보드의 전원OFF

 

PE2번핀과 GND에 각각 연결 후

e141cd5700df9319a1a994455111b5b2_1521881
e141cd5700df9319a1a994455111b5b2_1521881 

 

LED와 연결해줍니다

(빨간 부분이 LED의 긴 발,사진에서 저항은 220옴을 사용) 

e141cd5700df9319a1a994455111b5b2_1521881
 

 

LED의 불빛이 1초마다 깜빡거린다면 정상작동

 

 

 

TIP. 프로그램을 다운로드하기가 번거롭다면

e141cd5700df9319a1a994455111b5b2_1521882

 

Drag&Drop
e141cd5700df9319a1a994455111b5b2_1521882

 

이제 CTRL+F7 후 F7로 Make했다면 저 버튼으로 프로그램을 넣으면 됩니다
 

 

 

메카리워즈 Image Map


모바일 버전으로 보기