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 |