ATMEGA 2560 16AU 디지털 포트 반전 속도 테스트

ATMEGA 2560의 디지털 포트를 다양한 방법으로 반전시켜 보고, 속도의 차이를 확인해 보았다.

ATMEGA 2560의 PIN OUT에서 만들어 낼 수 있는 가장 빠른 클럭은 얼마까지 가능할까 하는 궁금증이 들어 시험해 본 포트 반전 속도 시험

TEST1. 그냥 포트 반전

while(1)
{
	PORTA = ~PORTA;
}

Invert Test 1
TEST1

TEST2. 번갈아 가면서 대입시키기

while(1)
{
	PORTA = 0XFF;
	PORTA = 0X00;
}

Invert Test 2
TEST2

TEST3. 1us 지연을 두고 번갈아가며 대입시키기

while(1)
{
	_delay_us(1);
	PORTA = 0XFF;
	_delay_us(1);
	PORTA = 0X00;
}

Invert Test 3
TEST3

궁금했던 것 보다 더 중요한 다른 사실을 알게 되었다. 일단 듀티비는 50이 안나온다. 그냥 빠르게 한다고 속도를 올려대고 밟기만 하면, 분명히 오작동할 만한 거리들이 존재 한다. 그리고, 무언가 '계산'을 해서 값을 변화시키는게 아닌, 그냥 상수값을 읽어와서 로드해 버리는 것이 속도가 훨씬 빠르다.

이 글은 2019년 12월 6일 작성되었습니다.