본문 바로가기
728x90
반응형

Embedded System31

[STM32] GPIO 관련 HAL 함수 GPIO 관련 HAL 함수STM32에서 GPIO 입력/출력을 제어할 때 주로 쓰이는 함수를 정리한다.1. 핀 상태 쓰기 (출력) HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);특정 GPIO 핀에 High(1) 또는 Low(0) 값을 출력.PinState: GPIO_PIN_SET / GPIO_PIN_RESET예시:HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET); // PA5 핀 HIGH 출력 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET); // PA5 핀 LOW 출력2. 핀 상태 읽기 (입력) GPIO_PinState.. 2025. 9. 7.
[STM32] 6. Built-in Button을 사용하여 built-in LED Control 지금까지는 GPIO를 Output으로만 설정하여 LED를 점멸했다. 이번에는 Nucleo Board에 Built-in Button으로 Built-in LED를 컨트롤할 것이다. 프로젝트 생성 프로젝트 이름은 3_built-in_button_LED이다. GPIO 설정 보드메뉴얼 없이 Pintout Map에서 찾아보자. Built-in Button은 Blue PushButton(B1)이고, Built-in LED는 이전 프로젝트에서 사용했었던 LD2이다. 여기서 B1은 Default로 GPIO_EXTI13으로 설정되어 있는데 GPIO_Input으로 바꿔준 후, 저장한다. FW 코딩 /* USER CODE BEGIN WHILE */ while (1) { HAL_GPIO_WritePin(GPIO.. 2025. 9. 7.
[STM32] 5. Blink LED Built-in LED를 점멸해봤으니 이제 실제 LED를 점멸할 차례이다. 프로젝트 생성 Board Selector로 프로젝트를 생성하고, 프로젝트 이름은 2_blink_LED로 한다. GPIO 선택하기 22번 GND를 사용하고, PC0 핀을 LED에 전압을 인가하는 핀으로 사용한다. Pinout view에서 PC0, PC1 핀 위에 마우스를 올려놓은 후 클릭한다. GPIO_Output 메뉴를 선택한다. 선택이 완료되면 핀 녹색으로 표시된다. Blink 코딩 /* USER CODE BEGIN WHILE */ while (1) { HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_0); HAL_Delay(500); /* USER CODE END WHILE */ HAL.. 2025. 9. 7.
[STM32] 4. Blink built-in LED 이번에는 Nucleo Board 자체에 내장된 LED를 깜빡이는 실습을 할 생각이다. 프로젝트 생성다시 프로젝트 생성하자. 이번에는 MCU/MPU Selector가 아니라 Board Selector로 프로젝트를 생성한다. STM32CubeIDE에서 새 프로젝트를 시작할 때 MCU/MPU Selector는 칩 자체를 선택해 모든 설정을 수동으로 해야 하는 반면, Board Selector는 공식 개발 보드를 선택해 해당 보드에 맞는 핀, 클럭, 주변 장치 설정이 자동으로 완료되어 편리하다. 1_blink_built-in_LED 라는 프로젝트를 생성하면, 위와 같은 Pinout & Configuration 화면이 나타난다. 내장 LED 찾기프로젝트 생성을 완료했으니, 보드 위에 내장 LED가 어디에 .. 2025. 9. 7.
[STM32] 3. STM32Cube 프로젝트 생성 오늘은 STM32Cube로 프로젝트를 생성하는 법을 공부한다. 프로젝트 시작 1. STM32Cube 실행 후, File->New->STM32 Project 2. Target 선택 Commercial Part Number에 MCU 또는 Board의 제품명을 입력한다. 나는 STM32F103RB 사용하니 이걸로 입력했다. 3. 프로젝트 생성 프로젝트 이름을 설정하고, Next 클릭 Finish 클릭 4. Configuration 창 그러면, STM32CubeMX 창이 나타나는데, 오늘은 필요 없으니 일단 패스한다. 5. print 출력 왼쪽에 Project Explorer -> 0_print_hello -> Core -> Src -> main.c 클릭한다. /* USER CODE BEGIN Inclu.. 2025. 9. 6.
[STM32] 2. Cortex 시리즈 정리 STM32뿐만 아니라 많은 MCU/MPU가 ARM Cortex 코어를 사용한다.Cortex는 ARM에서 만든 프로세서 코어 아키텍처 브랜드이고, 성능/전력/용도에 따라 여러 라인업이 있다. 대표적으로 Cortex-A/R/M 제품 라인업이 있다. 귀엽게도 라인 이름 조차 "ARM"으로 맞췄다. Cortex-M 시리즈 (Microcontroller) Cortex-M 시리즈는 STM32와 같은 마이크로컨트롤러(MCU)에 사용되는 가장 일반적인 코어이다. Cortex-A 시리즈와 달리, 복잡한 운영체제보다는 FreeRTOS와 같은 소형 RTOS나 베어메탈(Bare-metal) 환경에서 구동된다. 사용 편의성과 전력 효율성에 초점을 맞추어 설계되었으며, 마이크로컨트롤러의 주변 장치를 제어하는 데 최적화되어 있다.. 2025. 9. 4.
728x90
반응형