아두이노 함수 정리 - 2
출처는 ‘아두이노 상상을 스케치하다’입니다.
간단하게 함수 구조만 정리하고 특별히 내용이 필요한 함수만 추가 내용을 첨부합니다.
자세한 내용은 책을 보시길~
이 부분은 개발하시는 분들이면 많이 보던 함수들입니다.
시간 함수
함수명 : millis
함수 구조 : unsigned long millis (void)
매개변수 : 없음
반환값 : 프로그램이 시작된 이후 경과된 시간 (밀리초 단위)
설명 : 약 50일의 시간이 지나면 오버플로우로 인해 0이 반환됨
함수명 : micros
함수 구조 : unsigned long micros (void)
매개변수 : 없음
반환값 : 프로그램이 시작된 이후 경과된 시간 (밀리초 단위)
함수명 : delay
함수 구조 : void delay (unsigned long ms)
매개변수 :
‣ ms - 밀리초 단위의 지연 시간
반환값 : 없음
설명 : 지정된 시간(ms)만큼 프로그램을 중지 시킴. 이 함수가 실행 중인 시간 동안 세선의 값을 읽어 들이지 못하는 등 다른 대부분의 작업을 못하므로 10밀리초 이상의 대기시간이 필요하는 경우 사용하지 않는 것이 바람직함
함수명 : delayMicroseconds
함수 구조 : void delayMicroseconds (unsigned long us)
매개변수 :
‣ us - 마이크로 초 단위의 지연 시간
반환값 : 없음
설명 : 지정된 시간(us)만큼 프로그램을 중지 시킴. 최대 지연 시간은 16383 마이크로 초이며 3마이크로 초 이상에서만 정확하게 동작함
수학 함수
함수명 : min
함수 구조 : min (x, y)
매개변수 :
‣ x - 첫 번째 비교 값
‣ y- 두 번째 비교 값
반환값 : x, y 중 작은 값
함수명 : max
함수 구조 : max (x, y)
매개변수 :
‣ x - 첫 번째 비교 값
‣ y- 두 번째 비교 값
반환값 : x, y 중 큰 값
함수명 : abs
함수 구조 : abs (x)
매개변수 :
‣ x - 데이터
반환값 : x의 절대값
함수명 : constrain
함수 구조 : constrain (x, a, b)
매개변수 :
‣ x - 데이터
‣ a - x가 가질 수 있는 최솟값
‣ b - x가 가질 수 있는 최댓값
반환값 : x가 범위 내의 값이면 x, a보다 작으면 a, b보다 크면 b를 반환
함수명 : map
함수 구조 : map (long value, long fromLow, long fromHigh, long toLow, long toHigh)
매개변수 :
‣ value - 데이터
‣ fromLow - 데이터가 가질 수 있는 최솟값
‣ fromHigh - 데이터가 가질 수 있는 최댓값
‣ toLow - 변환하고자 하는 범위의 최솟값
‣ toHigh - 변환하고자 하는 범위의 최댓값
반환값 : 지정한 범위(toLow, toHigh)로 사상된 값
설명 : 주어진 데이터 값을 지정된 범위의 값으로 선형 사상시킨다. fromLow값은 toLow값으로 fromHigh값은 toHigh값으로 사상된다. 입력 범위에서 fromLow와 formHigh가 같은 값인 경우 0으로 나누는 경우가 발생하므로 주의해야 한다.
함수명 : pow
함수 구조 : double pow (double base, double exponent)
매개변수 :
‣ base - 밑
‣ exponent - 지수
반환값 : base의 exponent승 값
함수명 : sqrt
함수 구조 : double sqrt (double x)
매개변수 :
‣ x - 데이터
반환값 : x의 제곱근
삼각 함수
함수명 : sin
함수 구조 : double sin (double rad)
매개변수 :
‣ rad - 라디안 형식의 각도
반환값 : 사인 값
함수명 : cos
함수 구조 : double cos (double rad)
매개변수 :
‣ rad - 라디안 형식의 각도
반환값 : 코사인 값
함수명 : tan
함수 구조 : double tan (double rad)
매개변수 :
‣ rad - 라디안 형식의 각도
반환값 : 탄젠트 값
난수 생성 함수
함수명 : randomSeed
함수 구조 : void randomSeed (unsigned int seed)
매개변수 :
‣ seed - 의사 난수 시작 위치 결정을 위한 값
반환값 : 없음
설명 : 의사 난수 생성기를 초기화 하며 시드는 외부 회로가 연결되지 않은 아날로그 핀으로부터 무작위 값을 입력받아 사용하는 것이 가장 간단한 방법이다.
함수명 : random
함수 구조 : long random (long max), long random (long min, long max)
매개변수 :
‣ min - 생성될 난수의 최솟값
‣max - max - 1이 생성될 난수의 최댓값
반환값 : [min, max-1] 범위의 난수 값
비트 조작 함수
함수명 : lowByte
함수 구조 : lowByte (x)
매개변수 :
‣ x - 데이터
반환값 : x의 최하위 바이트(byte)
함수명 : highByte
함수 구조 : highByte (x)
매개변수 :
‣ x - 데이터
반환값 : x의 두 번째 최하위 바이트(byte)
설명 : 2바이트 데이터에서는 상위 바이트를 반환함
함수명 : bitRead
함수 구조 : bitRead (x, n)
매개변수 :
‣ x - 데이터
‣ n - 읽어낼 비트의 위치로 LSB부터 0에서 시작
반환값 : 0 또는 1의 비트 값
설명 : x의 n번째 비트 값을 읽어 반환한다.
함수명 : bitWrite
함수 구조 : bitWrite (x, n, b)
매개변수 :
‣ x - 데이터
‣ n - 기록할 비트의 위치로 LSB부터 0에서 시작
‣ b - 기록할 비트 값. 0 또는 1
반환값 : 없음
설명 : x의 n번째 비트에 b 값을 기록한다.
함수명 : bitSet
함수 구조 : bitWrite (x, n)
매개변수 :
‣ x - 데이터
‣ n - 기록할 비트의 위치로 LSB부터 0에서 시작
반환값 : 없음
설명 : x의 n번째 비트를 1로 설정한다.
함수명 : bitClear
함수 구조 : bitClear (x, n)
매개변수 :
‣ x - 데이터
‣ n - 기록할 비트의 위치로 LSB부터 0에서 시작
반환값 : 없음
설명 : x의 n번째 비트를 0으로 설정한다.
함수명 : bit
함수 구조 : bit (n)
매개변수 :
‣ n - 계산하고자 하는 비트 위치
반환값 : n에 의해 지정된 비트의 비트 값
설명 : 2^n 값을 반환.
외부 인터럽트 함수
함수명 : attachInterrupt
함수 구조 :
void attachInterrupt (uint8_t interrupt, void (*function)(void), int mode)
void attachInterrupt (uint8_t pin, void (*function)(void), int mode)
매개변수 :
‣ interrupt - 인터럽트 번호
‣ pin - 핀 번호 (아두이노 두에에서만 사용 가능)
‣ function - 인터럽트를 처리할 인터럽트 서비스 루틴(ISR). 파라미터를 가지지 않고 반환값이 없다.
‣ mode - 인터럽트가 발생하는 시점
반환값 : 없음
설명 : 외부 인터럽트가 발생했을 때 이를 처리할 인터럽트 서비스 루틴을 지정한다.
함수명 : detachInterrupt
함수 구조 :
void detachInterrupt (uint8_t interrupt)
void detachInterrupt (uint8_t pin)
매개변수 :
‣ interrupt - 인터럽트 번호
‣ pin - 핀 번호 (아두이노 두에에서만 사용 가능)
반환값 : 없음
설명 : 인터럽트 서비스 루틴을 제거한다.
인터럽트 함수
함수명 : interrupts
함수 구조 : interrupts ()
매개변수 : 없음
반환값 : 없음
설명 : noInterrupts 함수에 의해 금지된 인터럽트의 발생을 허용한다.
함수명 : noInterrupts
함수 구조 : noInterrupts ()
매개변수 : 없음
반환값 : 없음
설명 : 인터럽트 발생을 금지시킨다.
아두이노 함수 정리는 여기까지 입니다~
'Study > 아두이노' 카테고리의 다른 글
[아두이노] 아두이노 4족보행 로봇 만들기 ~ 2 (4) | 2016.06.26 |
---|---|
[아두이노] 아두이노 4족보행 로봇 만들기 ~ 1 (0) | 2016.06.20 |
[아두이노] 문돌이의 공돌이 따라잡기 ~ 6 (0) | 2016.06.11 |
[아두이노] 문돌이의 공돌이 따라잡기 ~ 5 (2) | 2016.06.06 |
[아두이노] 문돌이의 공돌이 따라잡기 ~ 4 (0) | 2016.06.05 |