리눅스에서 시리얼 포트를 이용해서 통신을 하고 있는데요~ 전송 속도를 변화시키니 데이터 전송이 이상하게 되네요;;

blackcsy의 이미지

Server Test 용으로 윈도우즈 창을 하나 만들고요. 임베디드 보드와 시리얼 포트로 연결시킨 다음 하이퍼 터미널로 보드에 접속해서 리눅스 프로그램을 가동 시키고 Server Test용 윈도우즈 프로그램을 돌려서 0x05 라는 데이타를 임베디드 보드로 전송 시킴니다.

9600 bps로 전송 시 0x05 를 전송 하면 출력하면 0x05 라고 잘 출력되고 read 도 잘 이루어 집니다.

그런데 둘 사이의 전송 속도를 115200 bps로 올려서 0x05 를 전송하니 ' 0 ' 이렇게 3 byte 데이타가 날라가네요;;

전송 속도를 높임으로 인해 기존의 데이타가 변질되어서 날라가는건가요??

검색을 하다 보니 overrun 현상이랑 비슷한거 같기도 한데;;

시원한 대답이 없네요 ㅠ.ㅠ

아시는 분 있으시면 시원스레 답변 좀 남겨주세요 ^^*

whitelazy의 이미지

임베디드 보드가 어떤건지 확인하시고 임베디드 보드에 있는 시리얼 통신과 관련된 유닛의 데이터 시트를 찾아보시면 됩니다...
일반적으로 저속은 에러율이 0% 지만 고속으로 갈수록 에러율이 높아집니다만...
정확하게 어떤 문제가 발생하는지 모르겠습니다 1바이트 데이터를 날리신건지 "0x05"라는 4바이트 데이터를 전송하신건지...?
후자인것 같은데.. 4바이트중 3바이트가 깨졌다는건데 그건 다른문제일 경우가 클것 같습니다..

blackcsy의 이미지

B9600 이 기본 설정으로 되어있어요. 저속으로 하면 에러율이 적어져야 한다고 하셨는데..
저속으로 Test해보니.. 고속일 때와 마찬가지로 0x02 1 Byte가 다른 값으로 변질되어서 전송되네요;;
3byte가 날라간다고 생각했던 문제는.. 제 코딩 실수였네요;;

0x02 전송(16진수)
B57600 -> 224, 224, 0
B38400 -> 120, 60 , 0
B19200 -> 102, 0
B4800 -> 240

한 번 전송 했을 뿐인데.. 결과는 저렇게 나오네요.. 결과값들은 10진수에요.

포트 설정은

newtio.c_cflag = Boudrate | CS8 | CLOCAL | CREAD;
newtio.c_iflag = IGNPAR;
newtio.c_oflag = 0;
newtio.c_lflag = 0;
newtio.c_cc[VTIME] = 30;
newtio.c_cc[VMIN] = 0;
으로 하고 있어요..;; 왜 저속도 안되는지.. 죽겠네요 ㅠ.ㅠ

haze11의 이미지

. 잘못 봤네요 =.=;

답글 내용이 잘못되어 수정합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.