728x90 반응형 분류 전체보기192 라이브러리(Library) vs 프레임워크(Framework) 라이브러리(Library)와 프레임워크(Framework)는 둘 다 코드를 재사용하기 위한 도구이지만, 제어의 흐름(Control Flow)을 누가 가지고 있느냐에 따라 본질적으로 다르다. 라이브러리(Library) 개발자가 주도권을 가진다.필요한 기능이 있을 때 개발자가 직접 호출해서 사용한다.즉, 내 코드가 라이브러리를 사용한다. import mathresult = math.sqrt(16) # 개발자가 직접 sqrt() 호출print(result) math는 라이브러리이며, 개발자가 언제, 어디서, 어떻게 쓸지 직접 제어한다. 프레임워크(Framework) 프레임워크가 주도권을 가진다.개발자는 프레임워크의 규칙에 따라 코드를 작성하고, 프로그램의 실행 흐름은 프레임워크가 결정한다.즉, 프레임워크.. 2025. 11. 11. [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. 이전 1 2 3 4 ··· 32 다음 728x90 반응형