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
[45608] ApdComPort를 사용하여 가장기본적인 read/write를 할려구합니다.
이주원 [take808] 1209 읽음    2006-07-10 23:02
밑에소스는 컴포넌트 예제소스로있는 Excom0을 사용하여 테스트를 해보았습니다.
하지만 일단 컴포트가 연결은 되는것같은데요.
시리얼로 오는 문자를 읽어서 메모장에 추가를 못하네요
PIC칩에 시리얼로 '1'이란 문자를 3초간격으로 계속 뿌리게 하였습니다.
PC에서는 이거를 읽어서 메모장에 뿌릴려구하구요

실행시 TriggerAvil Event로 들어오질 않네요. 그래서 PIC에서 오는 신호가 이상한가 해서 터미널로 확인하면 3초간격으로 1씩 찍히는것을 확인하였습니다.
<com1,4800,데이터 비트 : 8,패리티 : 없음,stop : 1 ,흐름제어 :없음>

코드는 다음과 같습니다.
* 윈도우 제어판에서 com1포트 설정은 위와 같이 했구요. 설정을 위와같이 할때 터미널에서는 됩니다.

unit Excom0;

interface

uses
  WinTypes, WinProcs, SysUtils, Messages, Classes, Graphics, Controls,
  Forms, Dialogs, StdCtrls, AdPort, OoMisc;

type
  TForm1 = class(TForm)
    ApdComPort1: TApdComPort;
    Memo1: TMemo;
    Button1: TButton;
    procedure ApdComPort1TriggerAvail(CP: TObject; Count: Word);
    procedure Button1Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.ApdComPort1TriggerAvail(CP: TObject; Count: Word);
var
  I : Word;
  C : Char;
  S : String;
begin
  S := '';
  for I := 1 to Count do begin
  C := ApdComPort1.GetChar;

  S := S + C;
  end;
   Memo1.Lines.Add(S);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ApdComport1.ComNumber := 1; // 컴포트 지정

  if not ApdComport1.Open then
    ApdComport1.Open := true
  else
    Memo1.Lines.Add('1 오픈되어 있는 상태');
  end;

end.

+ -

관련 글 리스트
45608 ApdComPort를 사용하여 가장기본적인 read/write를 할려구합니다. 이주원 1209 2006/07/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.