아두이노를 이용한 라인트레이서 제작

본 토픽은 현재 준비중입니다. 공동공부에 참여하시면 완성 되었을 때 알려드립니다.

GPIO & Register(선택)

Arduino UNO schematic

Arduino UNO schematic
Arduino UNO schematic
 
Arduino 핀과 ARM 328p 핀 사이의 관계
Arduino 핀과 ARM 328p 핀 사이의 관계

 

GPIO 관련 Register

레지스터 및 어드레스

기능

리셋 되었을 때의 초기값
DDR

포트의 데이터 입출력 방향을 설정한다.

1:출력 0:입력
0000 0000
PORT DDR 레지스터에 의해서 방향이 출력으로 설정되어 있는 경우에 이 레지스터의 값이 핀에 나타난다. 0000 0000
PIN DDR 레지스터에 의해서 방향이 입력으로 설정되어 있는 경우에 이 어드레스를 통해 핀의 논리를 읽을 수 있다. 고 임피던스

blink.ino 다시쓰기

void setup()
{
  DDRB = _BV(DDB5);      // sets the digital pin 13(PB5) as output
  // DDRB = B00100000;
}

void loop()
{
  PORTB = 0;   // sets the LED off
  delay(1000);                  // waits for a second
  
  PORTB = _BV(5);    // sets the LED on
  // PORTB = B00100000;
  delay(1000);                  // waits for a second
}

digitalread.ino 다시쓰기

unsigned char val = 0;     // variable to store the read value

void setup()
{
  DDRB = _BV(DDB5);      // sets the digital pin 13(PB5) as output
  // DDRB = B00100000;   // pin 11(PB3) as input      
}

void loop()
{
  val = PINB & _BV(3);   // read the input pin
  // val = PINB & B00001000;
  
  PORTB = val << 2;    // sets the LED to the button's value
}

참고자료

댓글

댓글 본문
작성자
비밀번호
버전 관리
YJ
현재 버전
선택 버전
graphittie 자세히 보기