이전 OR연산과 비슷한 방식으로 AND연산으로 특정비트를 0으로 만들어보도록 하자. # 일단 기본 설정은 동일하다. 2진수로 직접 명시해줘서 제어할 경우, 가장 직접적이긴 하지만 매우 불편하다. # 쉬프트연산과 반전연산을 이용하여 특정비트를 0으로 지정해 줄 수 있다. OR연산때와 마찬가지로 쉬프트연산을 사용하여 밀고자하는 갯수가 비트의 번호와 일치한다.그렇기 때문에 2진수로 모든 숫자를 명시해주지 않고도 특정 비트를 제어할때의 수고를 덜 수 있다. 쉬프트연산과 반전연산이 처리되는 과정을 풀어보면1
# 위와같이 코드를 작성하면 우리가 앞서 하나하나 작성해주며 하나의 비트씩 밀며LED를 제어했던것을 반복문을 통해 제어할 수 있다. # 특정 비트만 1로 만들기 먼저 PortD에 f0이라는 값을 써 준다. 16진수 f 는 2진수의 1111에 해당된다. 따라서 PORTD에는 0b11110000의 값이 써 지게 된다.우리가 16진수를 주로 사용하는 이유는 16진수 한자리가 2진수 4자리를 표현 할 수 있기 때문이다. 이렇게 셋팅되어있는 상태에서 다른 값들은 유지한채 특정비트 여기서는 0번쨰비트 (b0)만을 1로 바꾸고싶을때는 어떻게 해야할지 알아보도록 하자. 비트연산자중에 OR이 있다. 논리연산의 OR과는 다르다. 비트연산의 OR은 | 이고, 논리연산의 OR는 ||이다. 따라서 우리가 알다시피 OR연산을 사..
XPlained 보드에 아두이노 보드를 연결하여 실습을 진행해보도록 하자. # Basic Shield에는 8개의 LED가 붙어있다. 8개의 LED를 비트연산을 통해 알아보도록 하자. # 사용법은 간단하다. 그냥 맞물리는 두개를 합체시켜서 사용하면 된다.이중에서도 위에 표시된 점퍼(Jumper) 라는것은, 이 보드가 LED외에도 여러 다른 기능들을 넣어놨기때문에이를 이용해서 어떤기능을 이용할 지 선택을 해 주는것이다.기본 셋팅이 LED에 가있으므로, 그대로 두면 된다. Basic Shield의 LED는 아두이노의 경우 디지털 출력 번호로 붙지만, XPlained를 사용하고있기 때문에어디에 연결이 되어있는지 알고 있어야 한다. LED는 포트D의 8개의 비트에 각각 연결이 되어있는 상태다.그렇기 때문에 DDR..
이번엔 실제 코드를 가지고 LED의 불빛을 제어해보도록 하자. # 지난번 진행한 코드 이렇게 되면 DDRB 에서는 LED가 연결된 5번비트를 출력으로 바꿔줬고, PORTB에서는 동일한 5번비트를 1로 써줘서 High상태로 출력을 만들어줬다. 실제 이 코드를 한번 보드에 옮겨서 실행을 해보자. # 하단의 깜빡이는 LED를 코드를 입력하여 제어해보도록 하자. # 보드를 연결하면 현재 컴퓨터에 연결된 장비가 아트멜스튜디오상에 표시된다. 코드를 실행하기에 앞서 지난번에 설정해둔 설정을 변경해주어야한다. # 실제 보드를 연결하였기 때문에, 속성(Properties) 창에서 연결된 장비를 선택해주고 인터페이스를 설정해준다. 인터페이스에는 ISP와 debugWIRE 이 두개중에 선택할 수 있는데, ISP는 디버깅을 ..
이번엔 실습보드 없이 간단한 프로젝트를 만들어보도록 하자. 먼저 프로젝트부터 생성해보자. # 비주얼스튜디오와 동일한 구조다. 프로젝트명, 경로를 지정해주면 된다. 그리고 기다리면 이렇게 디바이스를 선택하는 화면이 나온다. # PC에서 비주얼스튜디오를 사용할 때는 이 부분이 없지만, 사용할 프로세서에 따라 메모리 크기라던지 조건이 다르기때문에 그에 맞는 옵션을 설정 할 수 있도록 모델을 골라줘야한다. 우리가 사용할 부분은 ATmega 시리즈 이기에, 그 중 168PB를 선택하고 프로젝트를 생성해준다. # 비주얼스튜디오와 동일한 구조를 띄고 있다. 우측에 솔루션 탐색기가 있고, 편집할 소스코드가 깔려서 생성이 된다. 헤더파일로는 avr헤더가 선언이 되어있고, 메인에 소스코드를 작성하면 된다. 우리가 진행할 ..
Atmel Studio7 설치에대해 알아보자.우리가 사용할 수 있는 버전으로는 4.x, 6.x, 7.x 버전이 존재Atmel Studio는 버전이 올라가며 점차 AVR 8bit, 32bit 뿐 아니라 ARM계열의 칩까지 모두 지원을 하기 때문에앞으로 Atmel 제품을 이용해 개발을 진행하려 할 때 최신버전의 툴을 이용해서 개발할 것이 권장된다. 그중에서 우리의 개발 환경에 맞는(호환되는) IDE 버전은 6.x 이상의 버전이면 가능하지만 보다 최신버전을 설치하여 개발을 진행해보도록 하자. http://www.microchip.com/avr-support/atmel-studio-7 # 하단에 다운로드란에서 둘중 어느거로 설치를 진행하건 상관없다. # 최초에 라이센스 동의 및 디폴트경로 그리고 오류발생시 서버..
1. 학습 내용 · 디지털 출력, 입력 - LED, 7SEG, LCD, Buzzer 등 · 아날로그 입력 - 전압, 온습도 센서 AVR 이라는 MCU의 디지털 출력 및 아날로그 입력을 알아보도록 한다.디지털 출력으로는 LED의 불빛 제어, 7SEG에 숫자 출력, LCD에 글자 표시 또는 부저를 이용해서 멜로디 연출 등아날로그 입력으로는 전압측정 또는 온습도 센서를 읽어들여서 표시하는 예제 정도를 다뤄볼 예정 2. 학습 과정 · 제어할 대상에 대한 이해 · 코딩과 디버깅의 반복 코드는 C언어로 작성, 컴파일 이후 JTAG 이라는 툴을 이용해서 작성한 프로그램을 실습 보드에 넣고의도한대로 작동 하는지 확인하게 된다. 이 과정을 디버깅 이라고 한다. 3. AVR · 8-bit AVR의 대표 모델(마이크로컨트롤..