Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
시리얼포트제어및처리를 백그라운드프로세스로 하려하는데...
안녕하세요 델파이로 작업을 하는데요 델파이 6 .
RS323C 통신쪽에서 무자비하게 계속 데이타는 날라오고 프로그램에선 다른일을 처리해야하는데
그래서 백그라운드 프로세스 로 시리얼통신쪽의 작업을 하도록 만들려 하는데 백그라운드 프로세스를 어떻게
해야할지.. 간단한 예를 로.. . 부탁드립니다.
MI만 하다가 시리얼 제어를 하려니 정신이 없네요
참고로 델파이 6 이고 os는 win98입니다
2
COMMENTS
LDS
•
2005.06.08 01:54
그냥 참고 삼아 232c통신의 경험을....
232c에 물려 있는게 " PDA "라고 가정 할게요
PDA에서는 무자비하게 날라오고 처리 하시는 루틴이 시간이 많이 걸린다면....
이렇게 하시는게 좋을 거 같아요
첫째, PDA에서 받은 데이터를 다 처리 하면 PC에서는 PDA쪽으로 신호를 보낸다
잘 받았으면 #6(ACK)코드를 보내고 잘 못 받았으면 #21(NAK)를 보낸다.
PDA쪽에서는 ACK나 NAK를 기다 렸다가 ACK나 NAK를 받은 후 데이터를 보낸다.
둘째, 데이터를 패킷에 싸는 것이 좋을 듯..
#2 시작코드
데이터
#3 끝코드
ex)#2데이터 날라간다#3 이렇게요
셋째, 232통신은 tcp통신과는 다르게 데이터가 깨지는 경우가 발생 합니다.
따라서 Sum값을 체크 하시는게 좋을거 같아요
sum값은 ACK부터 NAK까지 더한 값을 사용하면 좋겠죠.
넷째, 타이머를 사용해서 무응답일 경우 그 데이터를 다시 보낸다.
저의 경우는 약 0.5초 간격으로 보냈어요
만일 PC에서 ACK를 보냈는데 데이타가 소멸
0
0
댓글
프란시스
•
2005.06.08 02:58
네 감사합니다 근데 프로토콜은 괜찮은데요. ㅎㅎ 백그라운딩 프로새서로 하려구요
그냥 threed하나 발생시켜서 처리했더니 돼네요. ㅎㅎ 자문자답이긴해도 ㅎㅎ 해결이 났네요
답변감사합니다. 정말 고맙습니다.
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
김희준
•
2005.06.10 03:18
1
COMMENTS
/
0
LIKES
VC++ 소스에서 다음과 같은 함수를 어떻게 처리를 해야 되나요?
도끼로이마까
•
2005.06.10 20:58
질문의 의도가,,,C함수를 델파이로 고치는건가여,, 아니면,,C함수가 dll형태로 되어있는데,,이것을 델파...
크로이첼
•
2005.06.09 23:28
2
COMMENTS
/
0
LIKES
퀵리포트에서 프로시져 연결시 데이타 값 뿌려주기
nilriri™
•
2005.06.10 07:20
다를게 없는데...왜그런지 모르겠네요..ㅡㅡ; ADO인가요? BDE인가요?
크로이첼
•
2005.06.11 02:35
역시 안대니 별의 수를 다 동원하네요. 걍 프로시져에서 나오는 결과값을 임시테이블만들어서 거기다 값 ...
백승석
•
2005.06.09 20:32
3
COMMENTS
/
0
LIKES
작업시간이 긴 프로그램 화면처리 문제
도끼로이마까
•
2005.06.10 21:07
Label이나 ProgressBar에 프로퍼티를 설정하신후, Repaint를 호출해주시면 됩니다.. Repaint는 WinCont...
송 시중
•
2005.06.09 22:35
작업을 쓰레드화 시켜서 우선순위를 낮추거나, 화면과 동기화 한다던지 루프안에 Form.ProcessMessage...
남충희
•
2005.06.12 05:17
다른 방법도 있겠지만 FTP의 경우 WinINet의 콜백함수에서 ProcessBar를 나타내는것이 일반적입니다. 그리...
전상현
•
2005.06.09 16:56
1
COMMENTS
/
0
LIKES
선그리기에서 문제가 좀 있습니다.
석주현
•
2005.06.09 18:19
Help 에 이렇게 나와 있네요. Note: Dotted or dash...
송 시중
•
2005.06.09 09:24
2
COMMENTS
/
0
LIKES
다중쓰레드의 동기화 방법이 궁금합니다.
천희택
•
2005.07.02 09:02
저도 초보라 도움이 될지 모르겠습니다.. 4가지 방법이 있는데 CriticalSection, Mutex, Semaphore, ev...
도끼로이마까
•
2005.06.10 21:11
님께서 말씀하시는 synchronize는 님구현하려는 내용과 전혀 상관없습니다.. 델파이 Thread의 synchroni...
허학송
•
2005.06.09 05:59
2
COMMENTS
/
0
LIKES
비교문에 문제가 있는지요!
nilriri™
•
2005.06.09 09:27
(grid.cells[1,r] <> ' ') 이게 정확히 원하는 결과를 리턴하나요? Trim()...
허학송
•
2005.06.09 19:50
감사합니다. 역시 제가 초보긴 초보인가 보군요. 이런 방법을 생각 못하다니. 많이 배우고 있습니다.
크로이첼
•
2005.06.09 00:56
2
COMMENTS
/
0
LIKES
소스에 문제가 있는걸까요?
nilriri™
•
2005.06.09 22:22
OnCalcFields 이벤트를 잘못 이해하신듯 합니다. filter를 왜 해주시는지? 그리고..filter string을 ...
크로이첼
•
2005.06.09 23:33
답변 감사합니다. 제가 그냥 어제 원하는 결과값을 얻는 프로시져로 만들어 버렸네요 ^^; 급하다 보니 다...
장태원
2005.06.08 22:35
0
COMMENTS
/
0
LIKES
idSMTP 접속 에러
오승섭
•
2005.06.08 21:54
3
COMMENTS
/
0
LIKES
Query한 자료를 보여줄 때 Row수를 조절할 수 있나요?
민스맘
•
2005.06.09 00:53
우선 Query 에서 Row를 제한해서 가져오는 방법은요 oracle : select * from a_Table where rownu...
황성욱
•
2005.06.09 02:47
DATA ACCESS 쪽에 ClientDataSet이라는 콤포넌트가 있습니다. 이걸 이용하시면 가능 한데.. MIDAS나 data...
오승섭
•
2005.06.10 19:09
호야
2005.06.08 20:14
0
COMMENTS
/
0
LIKES
[답변] 감사합니다.
임정미
•
2005.06.08 19:53
3
COMMENTS
/
0
LIKES
파라독스테이블로 만든 윈도우 프로그램 설치디스크만들기
성더기
•
2005.06.09 01:26
델파이 시디를 가지고 계신다면 시디안에 인스톨쉴드 Express라고 델파이용으로 번들된 버전이 있습니다 ...
유응철
•
2005.06.09 02:40
델파이에 번들로 제공된 것이 어렵다면, 한글설명이 잘 되어 있는 installshield Factory 2.70 인가가 있습...
임정미
•
2005.06.09 07:10
임우식
2005.06.08 19:15
0
COMMENTS
/
0
LIKES
richedit로 작성된 내용을 mysql테이블에 넣으려고 하는데 어떻게 해야 되나요?
프란시스
•
2005.06.08 07:23
4
COMMENTS
/
0
LIKES
rs232c통신에서요..
이승민
•
2005.06.08 18:16
음 rs232c 를 사용할때 여러가지 방법들을 사용하는데 그중 제가 쓰는 방법은 comport 당 하나의 Timer 나 ...
프란시스
•
2005.06.08 22:49
쓰레드를 하나 발생(create) 시켜서 지속적으로 read하도록 하는 방법은 어떤것인지요? 부탁드...
한만교
•
2005.06.09 03:14
제가 하는 일반적인 그러나 정석(반드시 정석이라 할 순 없지만..ㅎㅎ)이라 할수 있는 방법입니다.. 쓰...
프란시스
•
2005.06.09 22:53
전 일단 급해서 그냥 thread를 생성해서 바로 free시키는 방법으로 그냥 진행했습니다. 별문제없이 잘 처리...
강재규
•
2005.06.08 05:45
1
COMMENTS
/
0
LIKES
OpenPictureDialog 크기 사용자지정 할수있는방법.
도끼로이마까
•
2005.06.09 04:38
어떤 크기를 말씀하시는건지,,, 자세하게 질문해주세여,,
델초보
•
2005.06.08 02:36
5
COMMENTS
/
0
LIKES
IE의 이전 다음 구현 어떻게 하나요? 검색해도 없어서 질문합니다.
최용일
•
2005.06.08 06:49
안녕하세요. 최용일입니다. 화면이 바뀔때마다 그 화면에 대한 정보를 순차적으로 기록해놓으세요. 그럼...
델초보
•
2005.06.08 23:15
드디어 답변이 ^^;; 답변 감사드리고요. 저도 그런 생각까지는 했는데 지금 만드는 프로그램이 장비와...
최용일
•
2005.06.08 23:52
안녕하세요. 최용일입니다. 데이터를 뿌려주는 화면이라면... 화면에 대한 정보는 그 데이터들이 되겠죠...
델초보
•
2005.06.09 02:10
답변감사합니다. 지식이 짧아서 하나하나 진행하기가 매우 힘드내요. 수고하세요...
한상민
•
2005.12.22 00:55
다들 넘 힘들게 생각하는거 같아서 6개월 지난 후 답변 올립니다. procedure TForm1.WebBrowser1C...
홍미자
•
2005.06.08 02:36
3
COMMENTS
/
0
LIKES
소켓 통신에 대하여?
이승민
•
2005.06.08 18:31
델파이의 몇 버젼을 사용하신지 몰라서 그냥 제가 알고 있는 기초적인 내용만 말씀드리겠습니다. 델파이의...
주웰
•
2005.06.08 19:01
절대 태클아닙니다 ^^;; 오해 없으시길... 이승민님께서 설명하신것 중에 동기식은 Linux, Unix 에서 보...
홍미자
•
2005.06.09 00:42
..
함종인
•
2005.06.08 01:43
1
COMMENTS
/
0
LIKES
리스트박스에서 아이템을 위아래로 이동할때...마지막줄에서..
정찬희
•
2005.06.08 04:48
위로 이동하는 코드에서 <!--CodeS--> if ( ListBox1.ItemIndex <> 0) then &l...
오경태
•
2005.06.08 01:43
3
COMMENTS
/
0
LIKES
zeos설치하고 mysql 디비연결 소스좀...
천희택
•
2005.06.08 17:48
리눅스에 msyql을 설치하셨으면... 우선 DB를 만드셔야 합니다. 그리고 테이블을 만드시고 .... 그리...
오경태
•
2005.06.08 19:16
감사합니다..제가 이곳싸이트에 올린 질문중에 처음으로 친절히 답해주셨습니다... 또 하룻밤새워..db ...
박정훈
•
2005.06.09 19:17
강의실에 가면 MySQL+Zeos 연동 강좌가 올라가 있답니다.. 저도 맛난거 사주시나요??? 푸흐흐... 농담이었...
호야
•
2005.06.08 01:12
1
COMMENTS
/
0
LIKES
delphi 7.0 사용환경
최용일
•
2005.06.08 18:58
안녕하세요. 최용일입니다. 델파이 자체적인 기능엔 없습니다. GExpert라고 하는 Third-party Add-on...
프란시스
•
2005.06.08 00:55
2
COMMENTS
/
0
LIKES
시리얼포트제어및처리를 백그라운드프로세스로 하려하는데...
안녕하세요 델파이로 작업을 하는데요 델파이 6 . RS323C 통신쪽에서 무자비하게 계속 데이타는 날라오고 프로그램에선 다른일을 처리해야하는데 그래서 백그라운드 프로세스 로 시리얼통신쪽의 작업을 하도록 만들려 하는데 백그라운드 ...
LDS
•
2005.06.08 01:54
그냥 참고 삼아 232c통신의 경험을.... 232c에 물려 있는게 " PDA "라고 가정 할게요 PDA에서는 ...
프란시스
•
2005.06.08 02:58
네 감사합니다 근데 프로토콜은 괜찮은데요. ㅎㅎ 백그라운딩 프로새서로 하려구요 그냥 threed하...
프란시스
2005/06/08 00:55
Views
515
Likes
0
Comments
2
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
그냥 참고 삼아 232c통신의 경험을....
232c에 물려 있는게 " PDA "라고 가정 할게요
PDA에서는 무자비하게 날라오고 처리 하시는 루틴이 시간이 많이 걸린다면....
이렇게 하시는게 좋을 거 같아요
첫째, PDA에서 받은 데이터를 다 처리 하면 PC에서는 PDA쪽으로 신호를 보낸다
잘 받았으면 #6(ACK)코드를 보내고 잘 못 받았으면 #21(NAK)를 보낸다.
PDA쪽에서는 ACK나 NAK를 기다 렸다가 ACK나 NAK를 받은 후 데이터를 보낸다.
둘째, 데이터를 패킷에 싸는 것이 좋을 듯..
#2 시작코드
데이터
#3 끝코드
ex)#2데이터 날라간다#3 이렇게요
셋째, 232통신은 tcp통신과는 다르게 데이터가 깨지는 경우가 발생 합니다.
따라서 Sum값을 체크 하시는게 좋을거 같아요
sum값은 ACK부터 NAK까지 더한 값을 사용하면 좋겠죠.
넷째, 타이머를 사용해서 무응답일 경우 그 데이터를 다시 보낸다.
저의 경우는 약 0.5초 간격으로 보냈어요
만일 PC에서 ACK를 보냈는데 데이타가 소멸