- PCB Artwork
- Python
- 오디세이 x86
- Imitating Arm
- EasyEDA
- 태양광 휴대폰케이스
- 태양광 충전케이스
- UART
- pcb 설계
- 태양광
- Canny
- 모션제어
- 아두이노
- SIOR-TITAN
- 태양 충전 케이스
- Arduino
- 태양광 충전 휴대폰케이스
- JLCPCB
- Video
- RQ-TITAN
- 윈도우10
- opencv
- opencv-python
- 태양전지
- pcb
- 체험지수
- odyssey x86J4105
- motion recognition
- Motion Estimation
- artwork
- Today
- Total
제너럴공국
[ODYSSEY X86J4105] 아두이노 시리얼 포트 네임 본문
Odyssey x86의 GPIO를 이용해 시리얼통신을 할때, 꼭 알아야하는 내용이에요. Odyssey x86은 Arduino Mega처럼 여러개의 시리얼 포트를 가지고 있기 때문이에요.
Serial.begin(9600);
보통 UNO를 사용하시는 분들은 위 코드를 이용해, 문제없이 Rx, Tx핀을 사용했을 거에요. 하지만 오디세이는 아래처럼 여러개의 시리얼함수를 가진답니다.
Serial.begin(9600);
SerialUSB.begin(9600);
Serial1.begin(9600);
Serial2.begin(9600);
아래 사진을 보아도, 2개의 UART 포트가 보이죠? 실제 사진으로는 저 위치에 존재합니다.
그래서 어떤게 어떤 포트 네임이냐구요? 차근차근 같이 보죠~
1단계) 통신망 구축 & Serial1 & Serial2
시리얼 응답을 확인하기 위해, Tera term <-> USB to TTL <-> GPIO로 연결합니다. 이후 D0/D1 핀과 좌측 4개핀 부분의 Rx Tx를 차례로 연결해봅니다. 참고로 ground도 연결해주는건 기본인거 아시죠? ㅎ
이렇게 연결을 하고 아래 코드를 실행해보면,
void setup(){
Serial.begin(9600);
Serial.println("basic setup finished");
SerialUSB.begin(9600);
SerialUSB.println("USB setup finished");
Serial1.begin(9600);
Serial1.println("1 setup finished");
Serial2.begin(9600);
Serial2.println("2 setup finished");
}
void loop(){
// 아래의 주석과 번갈가며 주석을 달았다 없앴다 하며 TEST~ gogo~
if(SerialUSB.available()){
Serial.println("USB data from serial");
}
/*
if(Serial.available()){
SerialUSB.println("serial data from USB");
}*/
delay(200);
}
D0/D1하고 연결됬을 때는, Serial1이!!! 좌측의 4개 핀과 연결됬을 때는 Serial2가 응답하는 것을 볼 수 있습니다.
2단계) Serial & SerialUSB
그럼 이제 이 둘은 무슨 역할을 수행하는지 확인해볼까요? 위의 코드가 업로드된 상태에서 시리얼모니터에 아무 데이터나 입력하면, 아래 코드 부분이 실행됩니다. 그리고 주석을 바꿔가며 실행해보고 실행결과를 살펴보면 우리는 다음과 같은 사실을 알 수 있죠. Serial에 출력한 내용이 SerialUSB로 인식되고 마찬가지로 SerialUSB에 출력한 내용이 Serial로 인식됩니다. ㅎㅎ 이를 통해, Serial과 SerialUSB가 동일한 동작을 한다는 것을 알 수 있네요. ㅎ
if(SerialUSB.available()){
Serial.println("USB data from serial");
}
/*
if(Serial.available()){
SerialUSB.println("serial data from USB");
}*/
최종 결과) 그래서 우리는 이런 결과를 얻을 수 있습니다.
- Serial1 : D0 D1 을 이용한 UART 통신
- Serial2 : 좌측 4개의 따로 나와있는 핀을 통한 UART 통신
- SerialUSB : 시리얼 모니터와의 통신
- Serial : 시리얼 모니터와의 통신
위 내용 참고하셔서, Odyssey x86으로 UART 통신 다들 성공적으로 잘 하시길 바래요!!!
+ alpha) 아래 홈페이지에 들어가면 이 내용으로 여러명이 토론중인데, 확인결과 틀린내용도 많고 첨보는 내용도 많고 하더라구요.... ㅋㅋㅋㅋ 아래 영어 설명대로 하다가 UART 안되서 헤맨건 no비밀...
ok quick sketch pumping out in the loop:
“SerialUSB” is the monitor
“Serial 1” is the D0/D1 pins
“Serial” is the 4 pin header as described.
Now to try input
'전자전기공학 > ODYSSEY - X86' 카테고리의 다른 글
[ODYSSEY X86J4105] 아두이노 IDE 초기설정 (3) | 2021.01.24 |
---|---|
[ODYSSEY X86J4105] window10 체험지수 확인하기 (1) | 2021.01.21 |