LuckyFace's Systems Lifescience

int, unsigned long 본문

Systems Neuroscience/ARDUINO functions

int, unsigned long

LuckyFace 2017. 4. 18. 15:53

//// Task related variables

int nTrial = 200; // total trial number

int nCue = 2; // cue number (1, 2, 4)

unsigned long valveDuration = 130;

unsigned long duration[7] = {500000,1000000,500000,500000,130000,2370000,2000000}; // epoch duration

unsigned long rewardProbability[4] = {100, 0, 100, 0}; // unit: percent

unsigned long rewardAmount[11] = {0, 30000, 42000, 53000, 64000, 77000, 86000, 92000, 100000, 107000, 116000};

unsigned long rewardDuration = 42000;

unsigned long punishDuration = 10000;



int state = 9;

    // state 0: base

    // state 1: cue

    // state 2: delay 1

    // state 3: delay 2

    // state 4: reward

    // state 5: intertrial interval

    // state 9: stand-by

int select = 0; // serial input (w for water, t for trial number, s for start, e for end...)

int iTrial = 0; // current trial

int inivalveDuration = 100; // water valve open duration

int itiDuration = 2;

int delayDuration = 1;

int prob = 0;

int cueChoice = 0;


int cue = 0; // current cue

int prevCue = 0; // previous cue

int nRepeat = 1; // current repeat number

const int maxRepeat = 3; // maximal repeat number

int addCue = 0;

int ratio = 1;



ARDUINO에서 변수 설정하는 방법에는 크게 4가지 방법이 있다고 한다.

1. int

2. unsinged int

3. long

4. unsigned long


차이를 두자면 int는 2바이트 메모리, long은 4바이트 메모리를 사용한다고 함.


간단히 그 차이를 표현해보자면



<네이버 잼두이노 블로그 펌>


따라서 6만이 넘는 큰 수를 정의할때는 (양수인 경우) unsigned long을 쓰는 것이 바람직 하고, 그에 비해 작은 정수를 정의하는 데는 int를 쓰는게 더 낫다고 할수 있다. 귀찮은데 다 long 함수로 넣으면 안되나? 이럴수 있지만 쓰는 메모리를 최소하는 것이 좋기 때문에 각각 범위에 맞게 사용하는 것이 좋겠다. 


추가로 const int maxRepeat = 3


이렇게 정의된 함수는 추후에 값을 바꾸지 못한다.


특이한 점은 


unsigned long duration[7] = {500000,1000000,500000,500000,130000,2370000,2000000}


이렇게 정의된 함수다. matlab에서 cell형 함수 지정할때랑 비슷한데 함수뒤에 [7] 이렇게 숫자를 지정한 것은 왜일까?

'Systems Neuroscience > ARDUINO functions' 카테고리의 다른 글

Serial 통신(2)  (0) 2017.04.19
void setup과 Serial 통신  (0) 2017.04.18
boolean and String, char  (0) 2017.04.18
#define  (0) 2017.04.18
ARDUINO function 정리  (0) 2017.04.18
Comments