?>

Hard Copy World

HCW

Q&A

Home > Forum >

Q&A

소프트웨어 시리얼에 대해 질문 드립니다 ㅠ

페이지 정보

작성자 심재현 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일16-04-24 13:02 조회916회 댓글3건

본문

 

      블루투스로 데이터를 전송하려고 프로미니 2,3번을 소프트웨어 시리얼로 사용했습니다~!

      아래의 Serial.print 로 확인했을 때는 정상적으로 뜨는데 swSerial.print 로 하면 아래의 사진처럼

      데이터가 다 안넘어오고 , 중간에 데이터가 깨지네요 ㅠ write로 해도 다 안넘어오네요 ㅠ

    swSerial.write("qwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnm") 이런식으로 고정된 긴 값을

    보낼때는 정상적으로 동작합니다.  계속 변화하는 데이터라서 그런건가요 .. delay를 줘봐도 똑같아요  

---------------------------------------------------- 

      Serial.print("*");
      for (int i = 0; i < OriginalData.length(); i++)
      {
        Serial.print(OriginalData[i]);   // Push each char 1 by 1 on each loop pass
      }

 

---------------------------------------------------- 

 

      swSerial.print("*");
      for (int i = 0; i < OriginalData.length(); i++)
      {
        swSerial.print(OriginalData[i]);   // Push each char 1 by 1 on each loop pass
      }

댓글목록

최고관리자님의 댓글

최고관리자 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일

우선 아두이노와 블루투스 전송 속도(baud rate)를 같은 값으로 정확히 맞춰 주시구요. 아래처럼 write() 함수를 사용해보세요.
swSerial.write(OriginalData[i]);

심재현님의 댓글

심재현 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 댓글의 댓글 작성일

똑같이  swSerial.write( OriginalData[i] ); 해도 똑같은 증상을 보입니다..

8MHz 로 57600 이 힘들다고 하는 말이 있어서 .. 38400으로도 내려봤는데 똑같은 증상이에요..

혹시 다른 이유가 있을까요 ..?

최고관리자님의 댓글

최고관리자 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 댓글의 댓글 작성일

보내는 데이터에 (0x00000000) 데이터가 있어서 NULL 문자로 인식되고, 때문에 제대로 표시되지 않고 짤리나보네요...
swSerial.print(OriginalData[i], DEC);
이렇게 한번 사용해보세요. 아래 링크의 내용을 참고하심 됩니다.
http://www.arduino.cc/en/Serial/Print