'시리얼 통신'에 해당되는 글 3건

  1. 2012.01.28 C# 시리얼 통신 프로그램 - MILab_Comm (Version 1.1) (88)
  2. 2012.01.26 C# 시리얼 통신 프로그램 (MILab_Comm V.1.00) (29)
  3. 2011.12.21 자체제작 C# Serial Program (13)
크리에이티브 커먼즈 라이선스
Creative Commons License

하루만에 업데이트 했습니다.



Version 1.0.0 의 보고된 오류와 1.1.0 에서 수정된 사항

1. 높은 전송 속도로 들어오는 데이터의 경우, 그래프를 그대로 모두 표시 함으로 인해 데이터 표시가 밀리던 현상.
    (하지만 큐를 사용하였기 때문에 저장 할때 데이터의 손실은 없음)

-> DownSampling Option 을 추가함으로써, 데이터 밀림 현상을 사용자가 조절할수 있도록 함.

2. 디스커넥트 후에 다시 커넥트를 누를경우 발생하는 Exception

-> 처리

3. Tx 모드를 헥사와 아스키로 구분하여 원하는 포멧으로 보낼수 있게 수정

4. 좌측 상단에 프로그래스 바를 이용하여 얼마나 데이터가 큐에 남아서 디스플레이 되고있지 않은지를 표시
   마우스를 해당 프로그래스바 Label 위로 가져갈 경우 숫자로도 볼수 있음.

5. 클리어 버튼을 눌를경우 텍스트 박스와 그래프의 디스플레이 큐를 초기화

6. 프로그래스 바의 색상 변경

7. 리시브 데이터 디스플레이 모드에 ASCII 모드를 추가

8. 저장 옵션에 ASCII 모드 추가

9. History 를 실행중에 변경할때 간헐적으로 발생하던 Exception 처리

10. 스페이스 공란을 구분자로 하여 여러 바이트의 TX 데이터를 보낼수 있게 함.

11. Disconnect 를 하지않고 프로그램을 종료할때 발생하던 Exception 처리 (쓰레드가 종료되지 않고 꺼지면서 발생하는 에러)



Version 1.1.0 에서 남아있는 오류

1. 10분이상 데이터를 계속 그래프로 디스플레이할경우 그래프 객체가 엑스박스가 뜨면서 죽어버리는 문제.
   -> 해결 못함. 하지만 이때도 데이터의 손실은 없음, 텍스트 박스는 제대로 표시됨. 저장시 데이터는 모두 저장됨.
    (HELP)



개발 초창기 잦은 Invoke 로 문제가 발생하여 다른방식으로 데이터를 넘겼는데 이것때문에 컬렉션 접근에 문제가 생기는 것인가????

잘 모르거따 진짜로 ㅠㅠ

아래는 1.1 버젼 설치파일

소스코드 필요하신분은 아래 댓글로 ㅋ

저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by J.Bear
크리에이티브 커먼즈 라이선스
Creative Commons License
여러가지 에러를 분석 하고 해석하고 얼추 쓸만한 정도로 만들었다.

뭐 별로 대단한 기능은 아니지만, 그동안 공부했던 개념들을 자체적으로 확인 및 정리하기에는 굉장히 유용했다고 생각한다.

UI 는 매우 직관적이므로 크게 설명할 부분은 없을 듯 싶다.

방금 끝내서 설치/배포 파일을 만든터라 코드를 다시 설명하고 싶지는 않다.

문제는 그래프를 뿌릴때 원래는 다운샘플링을 해서 뿌려야 되는데 들어오는 족족 잡아다가 다 뿌리다 보니 문제가 생겼다.

또 처음에 invoke 를 너무 해대다 보니 종료할때 오류가 생기기도 했고.

딱 정해진 해드웨어에서 받는 경우라면 다운샘플링을해서 문제가 없도록 하겠지만, 이것은 범용적으로 만들 계획이였어서  아직 적용하지 않았다.

하지만 텍스트 박스 업데이트나, 그래프 업데이트를 모두 쓰레드화 시켜놓음으로써 최상의 퍼포먼스를 뽑아낼수 있게 신경 썼다.

16진수 10진수 모두 디스플레이 가능하다.

텍스트로 저장할수있는 옵션이 있으며, 그래프의 히스토리 길이도 조절할수 있고 (물론 길게 잡을수록 더 데이터 표시가 밀릴것이다.) 그래프 캡쳐도 할수있다.

그래프 기능 On/Off 버튼을 만들어 놓았다. 그래프를 끄면 실시간으로 데이터 모두 뿌려준다.
이것은 디버깅 모드에서 큐에 남아있는 데이터를 확인하였기때문에 확실하다.

데이터 실시간으로 보고싶은 사람을 끄길 바란다.

실시간은 아니지만 데이터가 잘 들어오는지 아닌지 그림을 보고 싶은 경우에는 그래프를 켜서 보면 유용할것이다. 

디스플레이는 안되더라고 큐에 데이터는 모두 가지고 있기때문에 데이터를 잃어버리지 않으므로 안심하고 쓰면된다.


TX 기능은 구현은 했는데 너무 힘들어서 확인을 안했다.

나중에 버젼업할때 다시 봐야겠다.

관련학과 학부생, 대학원생들에게는 꽤나 쓸만하지 않을 까 싶다. 

 


이것이 인터페이스다

인터페이스라고 할것도 없다.

걍보면 뭐가 머하는건지 다 알수 있다 ㅋㅋㅋ

 

 

 
위에가 작동 화면들이다.

그래프를 계속 틀어놓으면 이렇듯 다 디스플레이를 못하고 데이터가 밀린다. ㅋ

하지만 큐에는 제대로 다 들어가있고

Disconnect 를 눌렀을때 위와같은 도움말이 뜬다.

아래 프로그래스 바가 큐에 남은 데이터를 얼마나 디스플레이했는지 알려준다.

데이터 저장은 Diconnect 를 눌른 후에 버튼이 활성화 되며, 10진수 16진수로 입맛따라 골라가며 저장이 가능하다.

아래는 프로그램이다.

용량도 얼마 안하니까 관심있는 분들은 다운로드 받아서 써보길 바란다.

안된다고 원망말고, 에러나 오류 있으면 댓글로 부탁한다.

시간날때 고쳐볼테니 ㅠㅠ ㅋㅋㅋ 

혹시 그래픽 디잔인을 좀 해주실분 있으면 메일이나 댓글 바란다 ㅋㅋㅋ 

소스코드가 필요한 사람도 댓글 바란다.

 

저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by J.Bear
크리에이티브 커먼즈 라이선스
Creative Commons License
C# 을 이용해 만들었습니다.

여러분은 기존에 어떤 시리얼 프로그램을 쓰세요??

물론 Labview 를 이용해서 그래프로 뿌려가며 보는것이 제일 좋죠 ㅋㅋ

저도 그렇게 이용하구요

하지만 개발과정에서 간단하게 시리얼 통신 기능 자체만을 테스트하는데는 여전이 터미널 프로그램이 이용되지요 ㅋ

위도우 기본 터미널 프로그램 외에 저는 아래와같은 3가지를 이용했습니다.

1.  HSCOMM : 전남대학교 전기공학과 최홍철 님이 만들어 배포했군요 (홍 시리얼 커뮤니케이션 의 약자네요 ㅋㅋ) 

 
심플한 인터페이스!
TX 매크로 기능
좋군요 ㅋㅋㅋ


2.  Terminal v1.9b : 1994 년부터 어떤 외국 분이 만드신듯

 
나름대로 요곳도 굉장히 잘썼습니다 ㅋㅋㅋ

3. STCOM : 어디서 만들었지??

 


간단하게 보기에는 요것도 굉장히 좋아요 ㅋㅋ

다만 버퍼사이즈가 작아서 그런지 매번 클리어를 해줘야하는 단점이 ㅋㅋ

그리고 텍스트 파일로의 저장이 번거롭다는것 ㅋㅋ

 
그래서!!

제가 한번 만들어보았습니당 ㅋㅋ

연습삼아 만든것이구요~

1. TX 의 경우 크게 길게 날릴 필요가 없다.
(즉, 메크로 창으로 여러줄을 만들기보단 걍 쭈욱 써서 한줄로 날리는방식)

2. RX 버퍼 사이즈가 후달리지 않았으면 좋겠다.

3. 받은 데이터를 그래프로 볼수 있었으면 좋겠다. 

해서 탄생한 것이 MILab_Comm 

 
더 추가할 사항도 굉장히 많지만, 연습삼아 하룻밤 사이에 만들어 본것이라서 ㅋㅋ

훗날 스위치 머신과 토큰을 이용해서 원하는 문자열 단위로 구분 및 그래프 줌 기능 등을 추가하면 더 좋겠지만 ㅋㅋㅋ

여튼 완성이 되어서 뿌듯하군요 ㅋㅋ


위의 터미널 프로그램이 필요하신 분들은

댓글로 메일 주소 남겨주세요 ㅋ

제가 연구실에서 거의 24시간 있으면서, 모니터링하고 있으니 거의 실시간으로 보내드릴수 있습니당 ㅋㅋ

그럼 좋은하루 ㅋㅋ

(근데 글씨체가 정말 안예쁜가... 난 예쁜데 ㅋㅋㅋ) 

저작자 표시 비영리 동일 조건 변경 허락
신고

'9. Software' 카테고리의 다른 글

TI Filter Pro 3.1  (0) 2013.04.12
uTorrent 3.1 다운로드  (0) 2012.01.14
자체제작 C# Serial Program  (13) 2011.12.21
내가 쓰는 윈도우7 가젯들  (0) 2011.12.20
iOS5 업그레이드 토렌트  (0) 2011.10.13
아이폰 MMS 수신안되는 문제 해결  (1) 2011.05.14
Posted by J.Bear


티스토리 툴바