C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[14307] Re:감사...그런데 단지 소스프로그램상에서 제어를 할려고 하는데요..^^
유부남 [] 1536 읽음    2002-01-09 17:29
232는 당연히 되겠지요. rx, tx가 구분되어 충돌할 일이 없으니...
(혹시나 해서 묻습니다만, 마이컴이 PC는 아니겠지요?
흔히 말하는 마이컴은 8051이나 80196, pic계열 등등...을 이야기합니다.)
아까도 말씀드렸지만 232와 485는 다이렉트로 통신이 안됩니다.
다른사람이 아프리카 말을 하고, 내가 한국말을 하면 서로 의사 소통이 안되겠죠?
하드웨어 세팅을 해 놓으셨다는데 무엇을 의미하는 건지?
양족모두 232로 세팅하든지 485로 세팅을 하든지 해놓고 그다음 소프트웨어로 넘어가야 겠지요.

만약 양쪽모두 485로 세팅이 되었다면 그리고 RX와 TX를 공유한다면,
한쪽을 마스터로 잡고 다른 쪽을 슬레이브로 잡고 생각하시면 됩니다.
슬레이브는 데이터를 보낼때 외에는 항상 수신모드로 있어야 합니다.
그래야 마스터와 슬레이브 충돌을 피할 수 있겠지요.

간단한예를 들어 마스터에서 슬레이브로 1이라는 값을 보낸다고 생각하면,
1. 마스터 송신모드에서 슬레이브에게 내가 지금 데이타를 보낸다는 신호를 보냅니다.
2. 슬레이브는 수신모드이기때문에 보낸다는 신호를 받고 수신모드로 대기.
3. 마스터 1데이타를 보내고 수신모드로 대기.
4. 슬레이브 1이란 데이타를 받고 송신모드로 설정.
5. 슬레이브 잘 받았다고 마스터에 신호를 보내고 수신모드로 대기.
6. 마스터 슬레이브로 부터 메세지 받고 송신모드로 설정.
7. 보낼 데이터 있으면 1부터 반복.
기타 데이타 전송오류도 생각해야 하지만,
기본적으로 라인이 둘다 송신모드로 충돌하거나, 수신모드로 무한정 대기하지 않도록 프로그램 하는 것이 관건이겠지요.
그럼 건투를 빕니다.

박경원 님이 쓰신 글 :
: 답변 감사합니다.
: 가령, 전 지금 한대의 마이컴을 가지고 있습니다.
: 뒤쪽에 보면 rs-232와 rs-485로 전환할 수 있는 스위치가 있죠.
: rs-232는 통신이 됩니다.
: 문제는 스위치를 485로 놓고 통신을 해야 하는데...
:
: 시스템 베이스에 문의를 해보니, rs-232로 그냥 데이터를 날려주고 485컨버터를 써주면 그냥 소스수정없이
: 바로 쉽게 485로 바꾸어 준다고 한답니다.
:
: 그런데, 컨버터를 안 쓰고 할려고 합니다.
: 하드웨어가 이미 셋팅 되어 있기 때문에 기존의 상태에서 통신을 할려고 하는거죠.(기타 하드웨어 추가 없이..그냥)
: 또 제가 485를 첨 해보기 땜에 일단은 프로그램으로 제어를 해볼려고 하는 것도 있습니다.
: (그래야 실력이 느니간요^^)
:
: 그래서, 485제어 방법을 알려고 하는데, 이거 쉽지가 않네요..^^
: 232와 약간 틀리다고 하는데.......RTS On/Off만 제어 해주면 된다고 하더군요.
:
: 도움주실 분을 기다릴게요.^^
:
:
:
:
:
:
:
:
:
: 유부남 님이 쓰신 글 :
: : 그저 참고하세요.
: :
: : 먼저 RS232 나 RS485같은 것은 시리얼 통신의 하드웨어적(전기적)인 규약을 의미하는 것으로 알고 있습니다.
: : 그러므로, 232나 485, 소프트웨어적으로는 차이가 없겠지요.
: : 485통신에서 데이타의 표시는 tx+와 tx-선, 또는 rx+와 rx-선의 전위차(보통 5V레벨)로 1또는 0이 표시되지만,
: : 232통신은 그라운드와 tx선 또는, 그라운드와 rx선과의 전위차(12v레벨)에 의해서 데이타가 표시됩니다.
: : 따라서,
: : 피시는 기본적으로 232신호를 출력함으로 마이컴의 485와 바로연결은 할 수 없습니다.
: : 233-485 컨버터가 있어야되고요.
: : (혹시 산업용 컴퓨터로 485포트가 제공되는 것이라면 예외지만...)
: :
: : 참고로,
: : 마이컴을 사용하면 485드라이버 칩으로는 주로 TI사의 SN75176을 많이 사용하는데,
: : 이칩의 송수신제어핀을 HIGH, LOW로 함으로 송신 또는 수신이 가능하지만(2선또는3선사용) 이것은 좀 어렵고,
: : 대신 간단히 하기위해서 이칩을 두 개 사용하여(4선또는 5선사용) 하나는 TX전용, 하나는 RX전용으로 사용하면
: : 프로그램 수정없이 전이중 통신이 가능합니다.
: :
: : CPort262가 어느회사 제품인지...
: :
: : 박경원 님이 쓰신 글 :
: : : 안녕하세요.^^말씀 감사합니다.
: : :
: : :
: : : rs-485를 위한 마이컴은 준비가 되어있습니다.
: : : 피시와 마이컴이 연결된 상태인데, 485통신을 위한 콘트롤만 해주면 됩니다.
: : : 근데, 문제는 rs-232와 485의 콘트롤이 약간은 틀리다더군요.
: : : 232 경우는, 세가닥의 선으로 tx인 경우는 보내기만 하고 rx인 경우는 받기만 하죠.
: : : 반면 485 경우는, 세가닥의 경우 한선은 tx+,rx+ 다른 한가닥은 tx-,rx-그리고 마지막선은 그라운드로 사용한답니다.
: : : 이때, 한선은 tx+,rx+로 사용하는데, 즉 데이터를 보낼수도 있고 받을 수도 있다는거죠.
: : : 만약 데이터를 보낼려고 한다면 RTS를 On으로 해주고 다 보낸경우는 Off로 한답니다.
: : : 왜냐면 데이터를 보낼때 상대편에서 데이터를 보내는 경우 충돌이 일어나기 때문에 이를 차단하기 위해
: : : RTS를 On/Off 해준다는군요.
: : :
: : : 이처럼 대략 개념은 알겠는데, 막상 소스코딩에 들어갈려고 하니 좀 막막난처 하네요-.--
: : : 그래서 이렇게 글 올립니다.
: : :
: : : 제가 쓰고 있는 시리얼컴포넌트는 CPort262입니다.
: : : 이걸로 485제어를 할려고 하는데, 가능한지와 제어방법을 아시는 분은 돔청합니다.plz..................
: : :
: : : 운 좋은 날 되십쇼.......
: : :
: : :
: : :
: : :
: : :
: : :
: : :
: : :
: : : 불사새 님이 쓰신 글 :
: : : : 485라 해서 뭐 특별한...프로그래밍이 필요하다기 보다는..
: : : :
: : : : 485 지원 칩이나 (232->485) 모듈등을 알아보시는것이...
: : : :
: : : :
: : : : 박경원 님이 쓰신 글 :
: : : : : 안녕하세요.
: : : : : 빌더초보입니다.요즘 들어 넘 자주 질문을^^;;
: : : : : 먹구 살려니 어쩔 수 없네요...^^
: : : : : 다름아니라..
: : : : : CPort262컴포넌트로 rs-232통신을 하고 있는데,
: : : : : 이 컴포넌트로 rs-485통신을 할 수 있습니까?
: : : : : 개인적으로는 할숭 있는 걸로 알고 있는데, 맞는지요...
: : : : : 맞다면 혹 485관련 소스나 방법을 갈켜주시면 대단히 감사하겠습니다.
: : : : :
: : : : : 즐거운 하루 되세요..^^

+ -

관련 글 리스트
14254 CPort262 컴포넌트를 이용한 RS-485통신 할 수 있나요? 박경원 981 2002/01/08
14256     새Re:CPort262 컴포넌트를 이용한 RS-485통신 할 수 있나요? 불사새 1740 2002/01/08
14280         Re:새Re:CPort262 컴포넌트를 이용한 RS-485통신 할 수 있나요? 박경원 1529 2002/01/09
14294             Re:Re:새Re:CPort262 컴포넌트를 이용한 RS-485통신 할 수 있나요? 유부남 1973 2002/01/09
14295                 감사...그런데 단지 소스프로그램상에서 제어를 할려고 하는데요..^^ 박경원 1493 2002/01/09
14307                     Re:감사...그런데 단지 소스프로그램상에서 제어를 할려고 하는데요..^^ 유부남 1536 2002/01/09
14317                         감사..일단 시도해보겠습니다.^^;; 박경원 1167 2002/01/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.