반응형

임베디드/임베디드 C언어 3

[C] C언어 비트 연산

개요임베디드 개발자는 비트연산을 사용해서, 장치를 제어하기 때문에 비트연산을 공부해야 한다. MCU를 예를 들면 하나의 칩 안에 CPU / 메모리 / Disk 까지 모두 들어가 있다.MCU의 여러개의 “PIN” 중 하나에다가 장치를 전선으로 연결한다.각 Port의 PIN의 상태를 비트로 관리하고 각 상태마다 장치의 작동 상태를 제어할 수 있다.  n 비트 표현 방법bit = 0과 1 을 나타내는 최소 단위1101 = 4bit100111 = 6bit기본적으로 32bit를 기준으로 이야기하지만, 32bit는 너무 길어서 8bit or 16bit 내에서 연습을 한다. 수를 2진수 8bit로 표현하기0xA = 0b000010100xC = 0b00001100수를 2진수 10bit로 표현하기0x1E = 0b0000..

[C] C언어 진수 변환

진수 변환을 공부하는 이유진수 변환은 임베디드 장치로부터 나온 Data를 분석하는 과정이다.장치는 2진수 → 16진수로 표현한다.개발자는 16진수 → (2진수) → 10진수로 빠르게 변환해서 이해해야 한다.  16진수를 쓰는 이유컴퓨터는 기본적으로 2 진수를 사용하고, 사람은 10진수를 사용한다.사람이 알아보기 힘든 2진수를 10진수로 변환하는데 계산이 오래 걸린다.2진수를 보다 알아보기 쉽게 쓰기 위해 16진수를 사용한다. 예를 들어 1Byte로 표현할 수 있는 0b00001111는 16진수로 0x0F로 나타낼 수 있다.만약 int타입의 변수를 이진수로 나타내면 32Bit로 나타내야 한다.long long등의 타입을 나타낸다면 읽어야할 이진수가 너무 길기때문에 사람이 이해하기 너무 어렵다.  진수 표기..

[C] C언어 메모리 주소와 포인터, 변수 배열 문자열 포인터

개요변수와 주소의 관계에 대해 학습하고 이해한다. 배열의 주소와 배열 이름의 관계에 대해 학습하고 이해한다.  변수의 메모리 주소int x = 10 변수가 있다.프로그램이 실행되어 메모리에 적재되면, 변수를 위한 공간이 메모리에 생긴다.그 공간을 나타내는 이름이 변수이름, 그 공간을 나타내는 시작 값을 주소라 한다.변수 이름은 개발자( 사람 ) 을 위한 것이고, 주소는 컴퓨터를 위한 값이다.모든 변수들은 주소가 존재한다. x에 10을 대입하고 return까지 트레이스 후 조사식을 확인하면 &x를 통해 변수 x의 메모리 주소를 알 수 있다. 배열의 메모리 주소배열의 경우 배열의 이름이 바로 “배열의 시작 메모리 주소”이다. 배열 a의 주소와 a[0]의 주소가 같은 것을 볼 수 있다. 메모리 주소int a ..

728x90
반응형