ST/STM32F103C8

STM32F103C8 - GPIO

engineer4ever 2025. 8. 8. 09:26

 

MCU
STM32F103(ST)
IDE
Atollic(TrueSTUDIO), STM32CubeMX
목표
HAL driver를 사용하여 GPIO에 LED를 연결해 LED를 ON-OFF 한다.

 

1. STM32CubeMX : GPIO OUTPUT 설정

- 'Pinout & Configuration' Tab으로 이동

1) Pinout View 로 마우스 이동

2) PC13을 Mouse 왼쪽 버튼 클릭하여 GPIO_Output 선택

 

3) Mouse 오른쪽 버튼 클릭하여 Enter User Label 선택 : GPIO_Output → LED_GREEN 으로 변경

 

- GPIO Configuration 확인

1) GPIO 선택

2) PC13-TAMPER-RTC 선택

3) GPIO output level : Low(LED ON), HIGH(LED OFF) ; 초기 상태

4) GPIO mode : Output Push Pull, Output Open Drain

5) Maximum output speed : Low, Medium, High

6) User Label : LED_GREEN

 

2. STM32CubeMX : GPIO INPUT 설정

- 'Pinout & Configuration' Tab으로 이동

1) Pinout View 로 마우스 이동

2) PB1을 Mouse 왼쪽 버튼 클릭하여 GPIO_Input 선택

 

3) Mouse 오른쪽 버튼 클릭하여 Enter User Label 선택 : GPIO_Input → SW1 으로 변경

 

- GPIO Configuration 확인

1) GPIO 선택

2) PB1 선택

3) GPIO mode : Input mode

4) GPIO Pull-up/Pull-down : No pull-up and No pull-down, Pull-up, Pull-down

5) User Label : SW1

 

- GENERATE CODE 클릭


3. ATOLLIC 실행

 

- File - Import...

 

- STM32CubeMX에서 생성한 프로젝트 폴더를 선택 후 Finish

 

4. ATOLLIC : main.c 수정

 

- main() : SW1 입력에 따라 LED_GREEN toggle 되는 source code

while (1)
{
/* USER CODE END WHILE */
	if(HAL_GPIO_ReadPin(SW1_GPIO_Port, SW1_Pin) == 0)
	{
		HAL_GPIO_WritePin(LED_GREEN_GPIO_Port, LED_GREEN_Pin, GPIO_PIN_SET);
	}
	else
	{
		HAL_GPIO_WritePin(LED_GREEN_GPIO_Port, LED_GREEN_Pin, GPIO_PIN_RESET);
	}
/* USER CODE BEGIN 3 */
}
 
 

 

 

'ST > STM32F103C8' 카테고리의 다른 글

STM32F103C8 - UART(DMA)  (3) 2025.08.08
STM32F103C8 - UART(Interrupt)  (1) 2025.08.08
STM32F103C8 - UART(Polling)  (1) 2025.08.08
STM32F103C8 - GPIO(EXTI)  (2) 2025.08.08
STM32F103C8 - Project 생성 및 기본 설정  (1) 2025.08.08