STM32 ๋ง์ดํฌ๋ก์ปจํธ๋กค๋ฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ด์ฅ๋ LED๋ฅผ ์ ์ดํ๋ ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํ๋ค. ์ด ์์ ์์๋ STM32F103C8T ๋ณด๋๋ฅผ ์ฌ์ฉํ๊ณ , STM32CubeIDE ํ๊ฒฝ์์ ์์ ํ๋ค๊ณ ๊ฐ์ ํ๋ค. ์ด ๋ณด๋์๋ ์ผ๋ฐ์ ์ผ๋ก PC13 ํ์ ์ฐ๊ฒฐ๋ ๋ด์ฅ LED๊ฐ ์๋ค.
๐ 1. ๊ฐ๋ฐ ํ๊ฒฝ ์ค์
๋จผ์ STM32CubeIDE๋ฅผ ์ค์นํ๊ณ ์ ํ๋ก์ ํธ๋ฅผ ์์ํด์ผ ํ๋ค. STM32CubeIDE๋ STM์ ๊ณต์ ๊ฐ๋ฐ ํ๊ฒฝ์ผ๋ก, ์ฝ๋ ์์ฑ, ์ปดํ์ผ, ๋๋ฒ๊ทธ๋ฅผ ์ง์ํ๋ค.
STM32CubeIDE ์ค์น: STMicroelectronics ์น์ฌ์ดํธ์์ ๋ค์ด๋ก๋ ํ ์ค์นํ๋ค.
- ์ ํ๋ก์ ํธ ์์ฑ:
- 'File' ๋ฉ๋ด์์ 'New' > 'STM32 Project'๋ฅผ ์ ํํ๋ค.
- ์ฌ์ฉํ ๋ณด๋๋ MCU๋ฅผ ๊ฒ์ํ์ฌ ์ ํํ๊ณ ํ๋ก์ ํธ ์ค์ ์ ์๋ฃํ๋ค.
๐ 2. ํ๋ก์ ํธ ์ค์
ํ๋ก์ ํธ๋ฅผ ์์ฑํ ํ, ํ์ํ ํ๋ฆฌํ๋ด ์ค์ ์ ํด์ผ ํ๋ค. ์ฌ๊ธฐ์๋ GPIO (General Purpose Input Output) ์ค์ ์ ์ด์ ์ ๋ง์ถ๋ค. ํ๊ธฐ ์ค์ ์ ๋ํ ์ค๋ช ์ ๋ค์ ํฌ์คํ ๋ ์งํํ๋ค.
- GPIO ์ค์ :
- CubeIDE์ CUBE-MX ์ธํฐํ์ด์ค์์ 'Pinout & Configuration' ํญ์ ์ฐ๋ค.
- PC13 ํ์ ์ฐพ์ ํ๊ธฐ ์ฌ์ง๊ณผ ๊ฐ์ด ์ค์ ํ๋ค.
๐ 3. ์์ฑ๋ ์ฝ๋ ํ์ธ
Pinout & Configuration์์ ์์ฑ์ ์๋ฃํ๋ฉด, main.c ํ์ผ์ ์๋์ ๊ฐ์ด ์ฝ๋๊ฐ ์์ฑ๋๋ค.
LED๋ฅผ ์ผค๋ ค๋ฉด, ์๋์ ๊ฐ์ด pin write๋ฅผ ํ๋ค.
LED๋ฅผ ๋๋ ค๋ฉด, ์๋์ ๊ฐ์ด pin write๋ฅผ ํ๋ค.
#include "main.h"
// ๋ฉ์ธ ํจ์
int main(void)
{
// HAL ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ด๊ธฐํ
HAL_Init();
// ์์คํ
ํด๋ก ์ค์
SystemClock_Config();
// GPIO ์ด๊ธฐํ
MX_GPIO_Init();
// ๋ฌดํ ๋ฃจํ
while (1)
{
// LED ON
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET); // LED๊ฐ LOW์ผ ๋ ON
HAL_Delay(1000); // 1์ด ๋๊ธฐ
// LED OFF
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET); // LED๊ฐ HIGH์ผ ๋ OFF
HAL_Delay(1000); // 1์ด ๋๊ธฐ
}
}
// ์์คํ
ํด๋ก ์ค์ ํจ์ (์๋ ์์ฑ๋จ)
void SystemClock_Config(void)
{
// ์ด ํจ์๋ MCU์ ํด๋ก ์ค์ ์ ๋ด๋น
}
// GPIO ์ด๊ธฐํ ํจ์
void MX_GPIO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
// ํด๋ก ํ์ฑํ
__HAL_RCC_GPIOC_CLK_ENABLE();
// GPIO ์ค์
GPIO_InitStruct.Pin = GPIO_PIN_13;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
}
๐ 4. ์ปดํ์ผ ๋ฐ ์ ๋ก๋
์ฝ๋๋ฅผ ์์ฑํ ํ์๋ STM32 ๋ณด๋์ ํ๋ก๊ทธ๋จ์ ์ปดํ์ผํ๊ณ ์ ๋ก๋ํด์ผ ํ๋ค.
- ์ปดํ์ผ: ํ๋ก์ ํธ๋ฅผ ๋น๋ํ๋ค. ์ด๋ IDE์ 'Project' ๋ฉ๋ด์์ 'Build All'์ ์ ํํ์ฌ ์ํํ ์ ์๋ค.
- ์ ๋ก๋: STM32 ๋ณด๋๋ฅผ PC์ ์ฐ๊ฒฐํ๊ณ , 'Run' ๋ฉ๋ด์์ 'Debug'๋ฅผ ์ ํํ์ฌ ์ฝ๋๋ฅผ ๋ณด๋์ ์ ๋ก๋ํ๋ค.
์ด๋ ๊ฒ ํด์ STM32 ๋ง์ดํฌ๋ก์ปจํธ๋กค๋ฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ด์ฅ LED๋ฅผ ๊ฐ๋จํ๊ฒ ์ ๋ฉธํด๋ณผ ์ ์๋ค.
๐ 5. ํ ์คํธ ๋ณด๋
https://smartstore.naver.com/oj-store/products/5989677517
'๐ง STM32' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[STM32] 6. ํ์ ์ ํญ ๊ธฐ๋ณธ ์๋ฆฌ (0) | 2024.11.18 |
---|---|
[STM32] 5. ๋ด์ฅ ์ค์์น ์ ์ด (0) | 2024.11.17 |
[STM32] 4. GPIO Output ์ค๋ช (0) | 2024.09.07 |
[STM32] 2. STM32 LINK ์ ๋ฐ์ดํธ (1) | 2024.09.02 |
[STM32] 1. Cube IDE ์์ํ๊ธฐ. (2) | 2024.09.01 |