아두이노 보드에는 Atmega328 MPU(CPU)가 장착되어 있습니다. C언어로 다루면 내부구조를 상세하게 이해 할 수 있습니다.

32개의 핀으로 되어 있습니다.
PD7, PD6, PD5, PD4, PD3, PD2, PD1, PD0 8개의 비슷한 이름을 갖고 있습니다. 한 가족으로 D port라고 합니다.
PORTD={ PD7, PD6, PD5, PD4, PD3, PD2, PD1, PD0} 집합 형식으로 쓸 수 있습니다.
PORTC={ PC6, PC5, PC4, PC3, PC2, PC1, PC0}
PORTB={ PB7,PB6, PB5, PB4, PB3, PB2, PB1, PB0}
PORT는 데이타가 동시에 8개가 들어가고 나갈 수 있습니다. 각각의 원소는 1비트 로 0, 1 의 값을 저장할 수 있습니다.
{ bit7,bit6, bit5, bit4, bit3, bit2, bit1, bit0} 순서입니다. 8bit는 1byte입니다.

검은 박스 안dms PB5입니다. 즉 PORTB에 속하는 PIN입니다.
PORTB={ PB7,PB6, PB5, PB4, PB3, PB2, PB1, PB0} 그리고 아래 노란색은4개는 LED로 맨 좌측은 PB5에 연결되었습니다. 이를 C 언어로 ON, OFF 해봅니다.

C언어 소스
아래와 같이 업로드해봅니다.

#include <avr/io.h>
#include<util/delay.h>
int main (void) {
DDRB |= (1<<PB5); // 아두이노 pinMode(PB5,1)와 같습니다. 출력으로 설정
while (1) {
PORTB = 0b00100000; // 5번 비트를 1로
_delay_ms (1000);
PORTB = 0b00000000; // // 5번 비트를 0으로
_delay_ms (1000);
}
return(0);
}
'코딩 놀이' 카테고리의 다른 글
tstory 글쓰기 에러 해결 (3) | 2024.12.13 |
---|---|
xy좌표와 모터 방향 설정 [27] (0) | 2024.12.11 |
GRBL 속성 모바일 제어 [25] (0) | 2024.12.10 |
G-code 모바일 제어 XYDrawing[24] (0) | 2024.12.09 |
SERVO 모터 동작 속성 [22] (0) | 2024.12.06 |