앞에서 변수를 선언하고 연산을 했다면 내부적으로 어떻게 연산이 이루어지는지 알아보자. AVR은 분명 8비트 운영체제인데 변수를 char로 선언하면 8비트에 딱 맞게 저장 할 수 있지만 이보다 큰 자료형은 저장공간을 어떻게 할당하며 내부 연산이 이루어질까? 예를들어 short a;라는 변수를 만들었다고 가정하자. short는 16비트라 하나의 레지스터(8비트) 안에 들어가지 못한다. 이를 해결하기 위해서는 다음 레지스터 공간을 같이 할당해주면 된다. 이와같이 short자료형은 R0, R1을 동시에 할당해 주면 된다. 덧셈 연산은 각각의 MSB부와 LSB부를 맞춰서 연산을 한다. 내부적으로 위와 같은 연산이 이루어짐을 결과를 통해 확인 할 수 있다. 그러나 위의 코드만 작성을 하면 문제점이 발생한다. 예를들..
컴퓨터, 전자, 전기, 기계 가릴것 없이 공학도라면 피할 수 없는 마이크로프로세서(마이크로컨트롤러)를 배워보자. Q. 마이크로프로세서란 무엇인가? A. 마이크로프로세서란 초소형 연산처리장치이다. 우리가 흔히 사용하는 PC, 스마트폰 안에 들어있는 연산처리장치 즉 CPU가 마이크로프로세서이다. 그러나 이런 CPU는 단독적으로 사용이 불가능하다. 칩이 특정기능을 사용 수 있도록 명령을 내려야 하고 결과를 확인 할 수 있어야 한다. 마이크로프로세서에 입력과 출력 인터페이스를 결합한 칩을 마이크로컨트롤러(MCU)라고 한다. 따라서 엄밀히 말하자면 우리는 칩셋에 입출력을 전부 수행하는 마이크로컨트롤러를 배운다고 하는것이 맞는 표현이다. 처음 프로그래밍을 배울 때 보통 C, 파이썬 등을 배웠을 것이다. (필자는 C..