String Prcss_DO_Write(unsigned int data[], int dataSize){ String str = "DO!:"; if(dataSize != 1){ str += RcvErr; return str; } unsigned int data0 = data[0]; for (int bit = 0; bit < 16; bit++) { digitalWrite(DoPin[bit], bitRead(data0, bit) ? HIGH : LOW); } str += RcvOK; return str; } String Prcss_DI_Read(){ String str = "DI?:"; //for (int i = 0; i < Size_DI; i++) { char formattedNumber[5]; // 4자리 숫자 + 널 종료 문자 sprintf(formattedNumber, "%04X", Values_DI); // 4자리로 고정된 형식의 문자열 생성 str += formattedNumber; // 형식화된 문자열 추가 str += ','; //} str += RcvOK; return str; } // String Prcss_AI_Read(){ String str = "AI?:"; for (int i = 0; i < Size_AI; i++) { char formattedNumber[5]; // 4자리 숫자 + 널 종료 문자 sprintf(formattedNumber, "%04X", Values_AI[i]); // 4자리로 고정된 형식의 문자열 생성 str += formattedNumber; // 형식화된 문자열 추가 str += ','; } str += RcvOK; return str; } String Prcss_AO(unsigned int data[], int dataSize){ String str = "AO!:"; for(int i=0 ; i