정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

아두이노 시리얼 모니터 관련 질문입니다!
Pogbamm6 | 2019-10-09

infineon tle493d w2b6라는 자기장을 측정하는 센서를 사용하고 있습니다. 이는 한개의 보드처럼 작동하기 때문에 한 컴퓨터로 여러개의 센서를 사용하고 싶으면 시리얼 포트를 여러개 사용해야 합니다. 그래서 아래와 같은 코드로 아두이노 ide창을 따로 여러개 열고 시리얼 포트만 바꾸어서 사용을 하려고 합니다.

 

#include <Tle493d.h>

Tle493d Tle493dMagnetic3DSensor = Tle493d();

void setup() {
  Serial.begin(9600);
  while (!Serial);
  Tle493dMagnetic3DSensor.begin();
  Tle493dMagnetic3DSensor.enableTemp();
}

void loop() {
  Tle493dMagnetic3DSensor.updateData();
  Serial.print("7_data = ");
  Serial.print(Tle493dMagnetic3DSensor.getX());
  Serial.print(" ; ");
  Serial.print(Tle493dMagnetic3DSensor.getY());
  Serial.print(" ; ");
  Serial.println(Tle493dMagnetic3DSensor.getZ());
  
  delay(1000);
}

 

 

 

아두이노 ide에서 창을 따로 두개를 열어서 시리얼 포트 2개를 여는 것을 성공하였습니다. 하지만 코드를 실행시켜보면 자꾸 각 포트에서 나와야 하는 데이터가 아니라 알 수 없는 데이터(가끔씩은 다른 포트에서 나와야 하는 결과가 출력되고 어떨 땐 전에 실행했을 때 출력되던 데이터가 나옵니다. 사진처럼...) 왜 그런지 전문가들의 도움이 필요합니다. 또한 이를 어떻게 해결 할 수 있을까요?

혹시 위와 같은 방법이 아니더라도 여러개의 시리얼 포트로 통신을 할 수 있는 방법이 있다면 알려주세요..

이전글   |    아두이노 관련 질문 2019-10-09
다음글   |    시리얼모니터 스마트폰출력관련 질문입니다... 2019-10-10