|
|
|
void GPIO_setup(){
|
[Command 및 Process 중간 완료]
- Ethernet을 통한 명령
ㄴ DO!, DI?, AI?, SV!, SV?, PV?
ㄴ AT!(MC9 AutoTune): 테스트 완료, 주석으로 정리해 놨음
ㄴ AO!: DAC 수령 후 작성 예정
- Buffer
ㄴ Write는 CRLF 확인 후 없으면 CRLF 추가 후 write
ㄴ Read는 CRLF 까지 데이터를 출력, CRLF는 미출력으로 필요시 read후 추가 필요
ㄴ 즉, Buffer는 CRLF를 기준으로 쓰기/읽기 진행, 기본적으로 입출력시 CRLF 제외되나, 저장시 CRLF 있는 경우 중복방지처리 됨
2 years ago
|
|
|
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++){
|
[Command 및 Process 중간 완료]
- Ethernet을 통한 명령
ㄴ DO!, DI?, AI?, SV!, SV?, PV?
ㄴ AT!(MC9 AutoTune): 테스트 완료, 주석으로 정리해 놨음
ㄴ AO!: DAC 수령 후 작성 예정
- Buffer
ㄴ Write는 CRLF 확인 후 없으면 CRLF 추가 후 write
ㄴ Read는 CRLF 까지 데이터를 출력, CRLF는 미출력으로 필요시 read후 추가 필요
ㄴ 즉, Buffer는 CRLF를 기준으로 쓰기/읽기 진행, 기본적으로 입출력시 CRLF 제외되나, 저장시 CRLF 있는 경우 중복방지처리 됨
2 years ago
|
|
|
Values_AI[i] = analogRead(AiPin[i]);
|
|
|
|
|
|
|
|
for(int j = 0; j < 9; j++) {
|
|
|
|
Recent_AI[i][j] = Recent_AI[i][j + 1];
|
|
|
|
}
|
|
|
|
Recent_AI[i][9] = Values_AI[i];
|
|
|
|
}
|
[Command 및 Process 중간 완료]
- Ethernet을 통한 명령
ㄴ DO!, DI?, AI?, SV!, SV?, PV?
ㄴ AT!(MC9 AutoTune): 테스트 완료, 주석으로 정리해 놨음
ㄴ AO!: DAC 수령 후 작성 예정
- Buffer
ㄴ Write는 CRLF 확인 후 없으면 CRLF 추가 후 write
ㄴ Read는 CRLF 까지 데이터를 출력, CRLF는 미출력으로 필요시 read후 추가 필요
ㄴ 즉, Buffer는 CRLF를 기준으로 쓰기/읽기 진행, 기본적으로 입출력시 CRLF 제외되나, 저장시 CRLF 있는 경우 중복방지처리 됨
2 years ago
|
|
|
}
|
|
|
|
|
|
|
|
void read_digital(){
|
|
|
|
int i = 0;
|
|
|
|
|
|
|
|
Values_DI = 0;
|
|
|
|
for(i = 0 ; i < Size_DI ; i++){
|
|
|
|
bitWrite(Values_DI, i, digitalRead(DiPin[i]));
|
|
|
|
}
|
|
|
|
}
|