아두이노

AVR tip

fingertree 2017. 10. 26. 18:23


AVR Tip 


상수 

RAMEND : 칩에 존재하는 ram의 마지막 주소(byte 주소)

XRAMEND : 지정 가능한 램의 마지막 주소

E2END : EEPROM의 마지막 주소 

FLASHEND : flash 메모리의 마지막 주소 

SPM_PAGESIZE : flash 메모리의 페이지 크기 

E2PAGESIZE 

SIGNATURE_0 : device signature (byte 0) 

FUSE_MEMORY_SIZE : FuseBit bytes의 크기(fusebit bytes는 low, high, extended로 구성) 

F_CPU : 사용자가 제공하는 CPU 클럭 정보 


매크로 

_BV( ) : bit value  특정 비트 플래그의 값을 검사하기 위한 비트 마스크를 만드는 매크로 

ex) 1 << TC  ----> _BV(TC)

     while(!(UCSRA&(1<<TC)); 


sei() : 전역 인터럽트 활성화 

cli() : 전역 인터럽트 비활성화 


bit_is_ser(sfr, bit) 

loop_until_bit_is_set(sft, bit) : sfr레지스트의 bit가 set될 때까지 대기


avr/boot.h 부트로더 지원 

avr/pgmspace.h flash 메모리 접근 기능 

inttype.h 정확한 길이의 정수형 타입 정의 

avr/interrupt.h 인터럽트 서비스 루틴 작성 

util/setbaud.h 보오레이트 계산 

avr/eeprom EEPROM 읽기/쓰기 

stdio.h C언어 표준 입출력