본문 바로가기

전체 글39

문자열 처리 함수 사용법: strcpy, strncpy, strncpy_s, strcmp, strlen C언어에서 문자열 처리 함수는 코드 작성 시 필수적으로 사용되는 강력한 도구입니다. 이번 글에서는 strcpy, strcmp, strlen의 사용법과 그 활용 사례를 설명하고, 유용한 팁을 함께 공유하겠습니다. 1. strcpy: 문자열 복사 함수strcpy는 한 문자열을 다른 문자열로 복사할 때 사용됩니다.구문cchar *strcpy(char *destination, const char *source);destination: 복사된 문자열이 저장될 대상source: 복사될 원본 문자열사용 예제c#include #include int main() { char source[] = "Hello, World!"; char destination[50]; strcpy(destination, sou.. 2025. 4. 28.
Transistor vs MOSFET, 모터 제어에 어떤 차이가 있을까? 최근 소형 드론 제작하려고 DC 모터를 제어해볼 일이 있었는데,같은 조건에서 NPN 트랜지스터와 N채널 MOSFET을 사용했을 때 모터 회전수가 꽤 큰 차이를 보여서 정리해봤다. 실험 조건tinkercad에서 모터 Transistor 회로와 Mosfet 회로 2개 시뮬일반 DC 모터 4개전원은 5V 12V제어는 아두이노 우노 보드의 PWM 핀 이용회로는 거의 동일하고, 스위칭 소자만 트랜지스터 ↔ MOSFET 교체 실험 결과12V약 1300RPM약 4700RPM5V약 1300RPM약 4300RPM→ MOSFET 쪽이 확실히 훨씬 더 높은 속도로 회전했다. 왜 이런 차이가 날까?🔹 트랜지스터 (NPN)트랜지스터는 Base에 전류를 흘려야 동작하는 방식인데,MCU가 공급할 수 있는 전류가 한정적이라 .. 2025. 4. 25.
C 언어의 for문, while문, switch문 완벽 정리 C 언어를 배우는 데 있어서 반복문과 조건문은 가장 기본이 되는 문법입니다. 이번 포스팅에서는 for문, while문, switch문의 사용 방법과 작동 원리를 예제와 함께 상세히 설명해드릴게요. for문for문은 반복 횟수가 정해져 있을 때 주로 사용하는 반복문입니다. 반복을 위한 변수의 선언, 조건, 증가/감소를 한 줄에 모두 작성할 수 있어 간결합니다. 기본 구조for(초기식; 조건식; 증감식) { // 반복할 코드} 예제: 1부터 5까지 출력하기#include int main() { for(int i = 1; i 작동 방식int i = 1: 변수 i를 1로 초기화.i printf("%d\n", i);: 현재 i 출력.i++: i 값을 1 증가시킴.조건이 거짓이 될 때까지 반복. whi.. 2025. 4. 24.
IAR STM32F429I-DISC1 보드로 B10K 가변저항 ADC 값 읽기 이번 포스팅에서는 STM32F429I-DISC1 보드에서 B10K 가변저항을 이용해 ADC 값을 읽고 UART로 출력하는 방법을 정리했습니다. STM32F4 시리즈의 기본 ADC 사용법을 익히기에 좋은 예제입니다. 회로 연결사용한 가변저항: B10K (10kΩ)연결 핀:가변저항 1번 핀 (한쪽 끝) → GND가변저항 2번 핀 (중간) → PA0 (ADC1 Channel 0)가변저항 3번 핀 (다른 끝) → 3.3V 목표가변저항을 돌리면 ADC 값이 0 ~ 4095 범위로 변함이 값을 USART2를 통해 PC 터미널에 출력 코드 설명1. ADC 초기화 함수 (ADC1_Init)void ADC1_Init(void){ RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENAB.. 2025. 4. 23.
IAR STM32F429I-DISC1 보드 UART(USART2) 통신 설정 및 사용 방법 사용한 환경보드: STM32F429I-DISC1개발 환경: STM32CubeIDE 또는 Keil MDK, 또는 직접 Makefile 프로젝트라이브러리: STM32F4xx Standard Peripheral Library USART 핀 구성USARTTX 핀RX 핀연결 포트USART2PD5PD6GPIODSTM32F429 보드에서는 기본적으로 PD5가 TX, PD6가 RX로 연결되며 AF7 (Alternate Function 7) 을 사용합니다. 전체 소스 구성총 3개의 파일을 사용합니다:main.c: 시스템 초기화, USART 설정 및 기본 송신 코드USART_CTM.h / .c: USART2 초기화 함수 정의stm32f4xx_it.c: 인터럽트 핸들러 정의 main.c#include "main.h"#in.. 2025. 4. 23.
[프로그래머스] [C] Lv.2 이진 변환 반복하기 문제 설명 0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다. 1. x의 모든 0을 제거합니다. 2. x의 길이를 c라고 하면, x를 "c를 2진법으로 표현한 문자열"로 바꿉니다. 예를 들어, x = "0111010"이라면, x에 이진 변환을 가하면 x = "0111010" -> "1111" -> "100" 이 됩니다. 0과 1로 이루어진 문자열 s가 매개변수로 주어집니다. s가 "1"이 될 때까지 계속해서 s에 이진 변환을 가했을 때, 이진 변환의 횟수와 변환 과정에서 제거된 모든 0의 개수를 각각 배열에 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 s의 길이는 1 이상 150,000 이하입니다. s에는 '1'이 최소 하나 이상 포함되어 있습니다... 2025. 4. 22.