<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><title>그라운드 임베디드</title><link>https://groundembedded.com/</link><description>C 언어부터 모터 제어까지. 현업 개발자가 만든 임베디드 로드맵, 무료 전자책, 3D 시뮬레이션.</description><language>ko</language>
<item><title>UART 기초: 클럭 없이 데이터를 보내는 방법</title><link>https://groundembedded.com/uart-basics/</link><guid>https://groundembedded.com/uart-basics/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>통신 프로토콜</category><description>UART가 클럭선 없이 통신할 수 있는 이유와 시작 비트, 데이터 비트, 정지 비트, 보레이트를 정리했습니다.</description></item>
<item><title>풀업 저항은 왜 필요할까</title><link>https://groundembedded.com/pull-up-resistor/</link><guid>https://groundembedded.com/pull-up-resistor/</guid><pubDate>Mon, 09 Nov 2026 09:00:00 +0900</pubDate><category>실무 회로소자</category><description>떠 있는 입력 핀이 왜 문제인지, 풀업 저항이 무엇을 해결하는지, 값은 어떻게 고르는지 정리했습니다.</description></item>
<item><title>PWM 기초: 듀티비로 평균 전압 만들기</title><link>https://groundembedded.com/pwm-basics/</link><guid>https://groundembedded.com/pwm-basics/</guid><pubDate>Sun, 08 Nov 2026 09:00:00 +0900</pubDate><category>MCU 펌웨어</category><description>디지털 핀으로 LED 밝기와 모터 속도를 조절하는 PWM의 원리와 타이머 설정 계산법을 정리했습니다.</description></item>
<item><title>변수와 자료형: uint8_t를 쓰는 이유</title><link>https://groundembedded.com/c-fixed-width-types/</link><guid>https://groundembedded.com/c-fixed-width-types/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>C 언어</category><description>int의 크기는 컴파일러마다 다릅니다. 임베디드에서 크기가 정해진 자료형을 쓰는 이유와 부호, 오버플로를 정리했습니다.</description></item>
<item><title>연산자와 형변환: 버그가 숨는 곳</title><link>https://groundembedded.com/c-operators-casting/</link><guid>https://groundembedded.com/c-operators-casting/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>C 언어</category><description>정수 나눗셈, 암묵적 형변환, 연산자 우선순위. 컴파일은 되는데 값이 틀리는 코드의 원인을 정리했습니다.</description></item>
<item><title>제어문: 펌웨어가 무한 루프인 이유</title><link>https://groundembedded.com/c-control-flow/</link><guid>https://groundembedded.com/c-control-flow/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>C 언어</category><description>if, switch, for, while로 흐름을 만들고, 임베디드 프로그램이 끝나지 않는 루프로 짜이는 이유를 봅니다.</description></item>
<item><title>함수와 스코프: 값 복사, 수명, 재귀</title><link>https://groundembedded.com/c-functions-scope/</link><guid>https://groundembedded.com/c-functions-scope/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>C 언어</category><description>함수 인자는 복사되어 전달됩니다. 지역 변수와 전역 변수의 수명, 그리고 MCU에서 재귀를 피하는 이유.</description></item>
<item><title>배열과 문자열: 버퍼 넘침의 원리</title><link>https://groundembedded.com/c-arrays-strings/</link><guid>https://groundembedded.com/c-arrays-strings/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>C 언어</category><description>배열은 메모리에 연속으로 놓인 같은 자료형의 묶음이고, 문자열은 널 문자로 끝나는 char 배열입니다.</description></item>
<item><title>포인터: 주소를 다루면 레지스터가 보인다</title><link>https://groundembedded.com/c-pointers/</link><guid>https://groundembedded.com/c-pointers/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>C 언어</category><description>포인터는 주소를 담는 변수입니다. 특정 주소를 읽고 쓰는 것이 레지스터 제어의 전부라는 점을 정리했습니다.</description></item>
<item><title>포인터 심화와 함수 포인터</title><link>https://groundembedded.com/c-function-pointers/</link><guid>https://groundembedded.com/c-function-pointers/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>C 언어</category><description>포인터 연산, 이중 포인터, 그리고 콜백과 상태 머신에 쓰는 함수 포인터를 정리했습니다.</description></item>
<item><title>구조체, 공용체, 비트필드</title><link>https://groundembedded.com/c-struct-union-bitfield/</link><guid>https://groundembedded.com/c-struct-union-bitfield/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>C 언어</category><description>레지스터 묶음과 통신 패킷을 구조체로 표현하고, 메모리 정렬과 패딩이 왜 생기는지 확인합니다.</description></item>
<item><title>비트 연산: 켜고, 끄고, 뒤집기</title><link>https://groundembedded.com/c-bit-operations/</link><guid>https://groundembedded.com/c-bit-operations/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>C 언어</category><description>AND로 지우고, OR로 켜고, XOR로 뒤집고, 시프트로 자리를 옮깁니다. 레지스터 제어의 기본 문법입니다.</description></item>
<item><title>volatile, const, static</title><link>https://groundembedded.com/c-volatile-const-static/</link><guid>https://groundembedded.com/c-volatile-const-static/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>C 언어</category><description>최적화를 막는 volatile, 값을 고정하는 const, 범위와 수명을 바꾸는 static. 임베디드에서 가장 자주 묻는 키워드 세 개.</description></item>
<item><title>전처리기와 매크로</title><link>https://groundembedded.com/c-preprocessor-macros/</link><guid>https://groundembedded.com/c-preprocessor-macros/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>C 언어</category><description>#define, 조건부 컴파일, 헤더 가드. 매크로가 만드는 함정과 안전하게 쓰는 방법.</description></item>
<item><title>빌드 과정: 소스가 펌웨어가 되기까지</title><link>https://groundembedded.com/c-build-process/</link><guid>https://groundembedded.com/c-build-process/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>C 언어</category><description>전처리, 컴파일, 어셈블, 링크를 거쳐 실행 파일이 되는 흐름과 링크 오류를 읽는 방법.</description></item>
<item><title>시간과 메모리 복잡도: 작은 MCU에서 먼저 따질 것</title><link>https://groundembedded.com/ds-complexity-on-mcu/</link><guid>https://groundembedded.com/ds-complexity-on-mcu/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>자료구조와 알고리즘</category><description>RAM 20KB, 클럭 72MHz인 MCU에서는 알고리즘을 고르기 전에 계산량과 메모리를 먼저 따져야 합니다.</description></item>
<item><title>링 버퍼: 인터럽트와 메인 루프 사이의 다리</title><link>https://groundembedded.com/ds-ring-buffer/</link><guid>https://groundembedded.com/ds-ring-buffer/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>자료구조와 알고리즘</category><description>UART로 들어오는 바이트를 잃지 않고 쌓아 두는 원형 큐. 인터럽트가 쓰고 메인 루프가 읽는 구조입니다.</description></item>
<item><title>큐와 스택: 먼저 온 것과 나중에 온 것</title><link>https://groundembedded.com/ds-queue-stack/</link><guid>https://groundembedded.com/ds-queue-stack/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>자료구조와 알고리즘</category><description>작업 대기열은 큐, 함수 호출은 스택입니다. 두 구조를 배열로 직접 구현하며 차이를 봅니다.</description></item>
<item><title>연결 리스트와 메모리 풀</title><link>https://groundembedded.com/ds-linked-list-pool/</link><guid>https://groundembedded.com/ds-linked-list-pool/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>자료구조와 알고리즘</category><description>malloc 없이 미리 잡아 둔 메모리 풀로 연결 리스트를 쓰는 방법. 단편화와 실패를 피하는 임베디드식 할당입니다.</description></item>
<item><title>상태 머신: 펌웨어 설계의 기본 도구</title><link>https://groundembedded.com/ds-state-machine/</link><guid>https://groundembedded.com/ds-state-machine/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>자료구조와 알고리즘</category><description>복잡한 동작 순서를 상태와 전이로 정리합니다. 플래그가 늘어나 if문이 얽히기 시작하면 상태 머신으로 바꿀 때입니다.</description></item>
<item><title>탐색과 룩업 테이블</title><link>https://groundembedded.com/ds-search-lookup-table/</link><guid>https://groundembedded.com/ds-search-lookup-table/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>자료구조와 알고리즘</category><description>정렬된 표에서 이진 탐색으로 빠르게 찾고, sin이나 센서 보정처럼 비싼 계산은 표로 미리 만들어 둡니다.</description></item>
<item><title>CRC와 체크섬: 깨진 데이터 알아내기</title><link>https://groundembedded.com/ds-crc-checksum/</link><guid>https://groundembedded.com/ds-crc-checksum/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>자료구조와 알고리즘</category><description>통신 중 비트가 뒤집혔는지 확인하는 계산. 단순 합 체크섬과 CRC의 차이, 그리고 구현 방법을 정리했습니다.</description></item>
<item><title>고정소수점 연산: 정수로 소수 다루기</title><link>https://groundembedded.com/ds-fixed-point/</link><guid>https://groundembedded.com/ds-fixed-point/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>자료구조와 알고리즘</category><description>FPU가 없는 MCU에서 소수를 빠르게 계산하는 Q 포맷. 스케일, 곱셈 후 시프트, 포화 처리를 정리했습니다.</description></item>
<item><title>2진수, 16진수, 2의 보수</title><link>https://groundembedded.com/dl-binary-hex-twos-complement/</link><guid>https://groundembedded.com/dl-binary-hex-twos-complement/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>디지털 논리</category><description>레지스터 값은 16진수로 읽고, 음수는 2의 보수로 저장됩니다. 데이터시트와 디버거 화면을 읽기 위한 숫자 감각.</description></item>
<item><title>논리 게이트와 불 대수</title><link>https://groundembedded.com/dl-logic-gates-boolean/</link><guid>https://groundembedded.com/dl-logic-gates-boolean/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>디지털 논리</category><description>AND, OR, NOT, XOR와 드모르간 법칙. 회로도와 C 코드의 조건식이 같은 규칙으로 움직입니다.</description></item>
<item><title>조합 회로: 디코더, 멀티플렉서, 덧셈기</title><link>https://groundembedded.com/dl-combinational-circuits/</link><guid>https://groundembedded.com/dl-combinational-circuits/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>디지털 논리</category><description>현재 입력만으로 출력이 정해지는 회로. MCU 안의 주소 해석, 핀 기능 선택, ALU가 모두 조합 회로입니다.</description></item>
<item><title>플립플롭과 레지스터</title><link>https://groundembedded.com/dl-flipflop-register/</link><guid>https://groundembedded.com/dl-flipflop-register/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>디지털 논리</category><description>클럭 가장자리에서 값을 붙잡아 기억하는 플립플롭. 이것이 여러 개 모이면 MCU의 레지스터가 됩니다.</description></item>
<item><title>카운터와 시프트 레지스터</title><link>https://groundembedded.com/dl-counter-shift-register/</link><guid>https://groundembedded.com/dl-counter-shift-register/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>디지털 논리</category><description>클럭을 셀 때마다 1씩 올라가는 카운터는 MCU 타이머의 원형이고, 비트를 한 칸씩 옮기는 시프트 레지스터는 SPI와 UART의 원형입니다.</description></item>
<item><title>클럭과 타이밍: 셋업, 홀드, 메타스테이빌리티</title><link>https://groundembedded.com/dl-clock-timing-metastability/</link><guid>https://groundembedded.com/dl-clock-timing-metastability/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>디지털 논리</category><description>플립플롭이 값을 제대로 붙잡으려면 클럭 전후로 입력이 가만히 있어야 합니다. 이 조건이 깨질 때 생기는 문제를 정리했습니다.</description></item>
<item><title>논리 레벨과 인터페이스: 3.3V와 5V 연결하기</title><link>https://groundembedded.com/dl-logic-levels-interface/</link><guid>https://groundembedded.com/dl-logic-levels-interface/</guid><pubDate>Tue, 10 Nov 2026 09:00:00 +0900</pubDate><category>디지털 논리</category><description>몇 V부터 1로 읽히는지, 푸시풀과 오픈드레인은 무엇이 다른지, 전압이 다른 칩을 어떻게 연결하는지 정리했습니다.</description></item>
</channel></rss>
