void GPIO_setup(){ for (int i = 0; i < Size_DI; i++) { pinMode(DiPin[i], INPUT); } for (int i = 0; i < Size_DO; i++) { pinMode(DoPin[i], OUTPUT); } analogReference(EXTERNAL); } void read_analog(){ int i = 0; for(i = 0 ; i < Size_AI ; i++){ Values_AI[i] = analogRead(AiPin[i]); /* for(int j = 0; j < AI_AVG_SIZE - 1; j++) { Recent_AI[i][j] = Recent_AI[i][j + 1]; } Recent_AI[i][AI_AVG_SIZE - 1] = Values_AI[i]; */ // 현재 인덱스 위치에 값을 저장 Recent_AI[i][index_AI] = Values_AI[i]; } // 인덱스를 증가시키고, 필요한 경우 순환 index_AI = (index_AI + 1) % AI_AVG_SIZE; } void read_digital(){ int i = 0; Values_DI = 0; for(i = 0 ; i < Size_DI ; i++){ bitWrite(Values_DI, i, digitalRead(DiPin[i])); } }