본문 바로가기

전체 글43

Visual Studio Project 복사 오늘은 Visual Studio 프로젝트를 복사해서 재사용하는 방법에 대해 소개하려고 합니다.( 😅 제가 갑자기 Project를 복사해서 사용해야 하는 상황이 생겨서 정리 차원에서 작성 합니다.) 개발을 하다 보면, 기존에 잘 만들어둔 프로젝트를 기반으로 기능을 확장하거나 변형하고 싶을 때가 많습니다. 예를 들어, Serial 통신 기능만 구현된 프로젝트가 있다고 가정해보겠습니다.이제 여기에 TCP 통신 기능을 추가하고 싶은 경우, 기존 Serial 프로젝트에 TCP 기능을 덧붙이는 방식도 있을 수 있습니다. 하지만 이렇게 하면, 원래의 Serial 전용 프로젝트까지 불필요하게 복잡해지고 유지보수가 어려워질 수 있습니다.이럴 땐, 기존 Serial 통신 프로젝트를 복사한 뒤, 복사한 새 프로젝트에만 T.. 2025. 6. 13.
VCP (Virtual COM Port) 잡동사니(STM32F407x) VCP로 구현하는 과정에서 알아 두면 좋은 잡동사니 팁(Tip)을 몇가지 소개 합니다. 1. Enumeration1. Enumeration ?USB 장치가 PC에 연결될 때,PC와 USB 장치가 서로 정보를 주고받으며 정식으로 "등록"하는 과정을 말합니다.이 과정은 몇백 ms ~ 1초 정도 시간이 걸릴 수 있습니다.이과정이 완료 되기 전까지는 VCP로 데이터 출력이 되지 않습니다. ✅ 쉽게 말하면,"PC가 이 USB 장치가 뭔지 알아내고, 사용할 준비를 하는 것"입니다. 2. Enumeration 과정USB 케이블을 꽂으면 순서대로 이런 일이 벌어집니다. 1단계: USB 물리 연결 (Cable Connected)PC는 "어? 뭔가 USB가 연결됐네?"를 감지합니다.D+ (Full-Speed), D- 라.. 2025. 4. 27.
VCP (Virtual COM Port) 구현(STM32F407x) 회로도#2-1 이전 글에서 EMIF02-USB03F2에 대해서 알아 봤습니다.이글은 이 칩에 연결된 VBUS_FS(PA9), OTG_FS_ID(PA10)에 대해서 알아 보려고 합니다. 1. VBUS_FS(PA9) VBUS오 연결되는 있는 PA9핀은 VBUS 신호를 감지하는 역할을 합니다.Device_only 모드에서는 Host USB(PC)등에서 전원을 인가하기 때문에, USB 케이블이 꽃혀 있나 확인 하는 용도로도 사용 가능 합니다. ✅ 실제로 STM32 CubeMX에서 보면 USB_OTG_FS 설정할 때 위의 그림들처럼 되어 있습니다.· VBUS sensing: Enable· PA9 핀 자동 설정: Input 모드그리고, STM32 USB 드라이버(usb_device.c 또는 u.. 2025. 4. 26.
VCP (Virtual COM Port) 구현(STM32F407x) 회로도#2 이번에는 지난글에 이어 STM32F407G-DISC1 보드 USB 부분을 가지고 이야기 해 보겠습니다. STMicroelectronics에서 만든USB용 EMI 필터 + ESD 보호 칩입니다.쉽게 말하면:"USB 신호 라인(D+, D-)을 노이즈로부터 보호하고, 정전기(ESD)로부터 보호하는 칩" 이라고 보면 되겠습니다. EMIF02-USB03F2의 주요 기능EMI 필터링USB 신호(D+, D-)에 고주파 노이즈(EMI)를 걸러냄ESD 보호정전기(ESD)가 들어오면 회로를 보호함신호 무결성 유지데이터 통신 품질(eye diagram)을 깨끗하게 유지USB 2.0 Full-Speed (12Mbps), High-Speed (480Mbps) 지원통신 속도에 영향 없이 보호 가능USB 라인이 깨끗하게 신호를 주.. 2025. 4. 26.
VCP (Virtual COM Port) 구현(STM32F407x) 회로도#1 이전 글에서는 간략하게 송/수신 기능을 시험 했습니다.이번에는 STM32F407G-DISC1 보드 USB 부분을 가지고 이야기 해 보겠습니다.위에서 부터 차근 차근 설명해 보겠습니다.STMicroelectronics에서 만든"USB Power Switch", 정확히 말하면 "High-Side Power Switch" 입니다.고정된 출력을 만들어주는 레귤레이터가 아니라, 입력 전압(IN)을 스위칭해서 출력(OUT)으로 전달하는 "High-side Power Switch"입니다.쉽게 말하면:"USB VBUS 전원(5V)을 안전하게 제어하고 보호하는 전자 스위치" 역할을 하는 부품입니다. STMPS2141STR의 주요 기능High-Side Switch5V 전원을 제어 (ON/OFF) 할 수 있음과전류 보호 (.. 2025. 4. 26.
VCP (Virtual COM Port) RX 구현(STM32F407x) 이번 시간에는 RX 기능을 구현해 보겠습니다. 1. 기본 개념CDC_Receive_FS() 함수는PC에서 STM32로 데이터가 수신되었을 때 호출되는 콜백 함수입니다.uint8_t CDC_Receive_FS(uint8_t* Buf, uint32_t *Len)Buf: 수신된 데이터 버퍼 포인터Len: 수신된 데이터 길이 포인터👉 즉, 여기서 수신 데이터를 읽고, 다시 CDC_Transmit_FS()로 PC에 보내주면 Echo가 되는 것입니다. 2. 코드 작성 방법CubeIDE 프로젝트에서USB_DEVICE/App/usbd_cdc_if.c 파일을 열어줍니다.거기에 보면 이미 기본 CDC_Receive_FS() 함수가 만들어져 있습니다./** * @brief CDC_Receive_FS * .. 2025. 4. 25.
반응형