?>

Hard Copy World

HCW

Arduino advanced

Home > Learning >

Arduino advanced

아두이노 메모리(RAM) 잔량 확인하기

페이지 정보

작성자 하드카피 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일15-02-12 14:19 조회2,633회 댓글0건

본문

 

 

사실 아두이노를 쓰면서 프로세서가 느리다고 생각해 본 적은 별로 없습니다. 취미로 만들만한 대부분의 장치에서 아두이노 정도의 속도(16MHz)면 충분했습니다. 다만 메모리 - 특히 램(RAM)은 사정이 틀립니다. 2KB 면 원고지 10장에 불과한데 이걸로 디스플레이 모듈, 통신모듈, 이미지나 긴 문자열을 다루다보면 예상치 않게 문제가 발생합니다.

그래서 아두이노 포럼에서 소개하는 Memory Free 라이브러리가 유용할 때가 있습니다. 아두이노 램 사용량을 체크해야 하는 경우, 이 라이브러리를 설치하시고 원하시는 시점에 freeMemory() 호출해주시면 됩니다. 그리고 Serial 통신으로 메모리 잔량을 확인해보세요.

MemoryFree 라이브러리 배포 : https://github.com/maniacbug/MemoryFree

메모리 부족을 걱정하는 상황에서 Serial 통신을 사용한다는 것이 에러긴 하지만...(Serial.begin() 으로 시작만해도 상당량의 메모리가 없어집니다.) EEPROM에 쓰던지 하는 방법으로 회피해 보세요.

 

예제소스 :

#include <MemoryFree.h>

// Reported free memory with str commented out:
// 1848 bytes
//
// Reported free memory with str and Serial.println(str) uncommented:
// 1834
//
// Difference: 14 bytes (13 ascii chars + null terminator

// 14-bytes string
//char str[] = "Hallo, world!";


void setup() {
    Serial.begin(115200);
}


void loop() {
    //Serial.println(str);

    Serial.print("freeMemory()=");
    Serial.println(freeMemory());

    delay(1000);
}

 

좀 더 상세하게... 메모리를 증가시키면서 테스트 해 볼 수 있는 예제는 아래 링크를 참고하세요.

http://dev.re.kr/60

 


하드카피 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물

모든 전통이 한 때는 오해를 면치 못했다. 마찬가지로 모든 아이디어는 한 때는 비웃음을 면치 못했다. -홀브룩 잭슨 ::::: 느닷없이 떠오르는 생각이 가장 귀중한 것이며, 보관해야할 가치가 있는 것이다. -베이컨 ::::: 미리 숙고하면 힘든 일도 그저 실행에 옮기는 순간 쉬워진다. - 로버트 M. 피어식

추천 0
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글목록

등록된 댓글이 없습니다.