|
소스를 보지는 않았지만..
시리얼통신은 원천적으로 "문자열통신"입니다.
즉, (시작문자)+ (본.......문) + (끝문자)를 보내고, 받는 통신이죠.
따라서, 님께서 1개문자를 받는 것에 성공하셨다면...
이제는 여러개의 문자를 받아서~ 시작문자와 끝문자를 만나면... 본문만 빼오는
연습을 하신후에~~ (요건 환큐를 사용하세요~~)
문자열에서 숫자만 뽑아서 사용하시면 되겠습니다. (요건 for문을 사용하시고~~)
기본적인 Serial통신에 성공하셨으니 이제 거의 끝난거나 다른없습니다.
화이팅~~
그리고, 프로젝트에서는 제가 만든 모듈도 있지만, Resource에 있는 다른분이 올리신
dll을 사용합니다. ^^;;;
이자리를 빌어서 그분에게 감사~~ 꾸벅~
gadap 님이 쓰신 글 :
: 제가 간단한 시리얼 통신을 하고 있습니다.
: 파일을 첨부하니 답변좀 부탁드립니다..
: 일단.. 송신 부분만을 작성하고 있는데..
: Memo1을이용하여 수신을 출력하고 있습니다..
: 그런데.. 하드웨어 부분에서 숫자 뿐만 아니라. 문자까지 출력을 하고 싶은데요..
:
: void __fastcall TForm1::Serial1Event_RXCHAR(TSerial *Sender, BYTE *Buffer,
: WORD Size)
: {
: char* str = new char[Size];
: AnsiString strTmp = "";
: AnsiString strHex = "";
: for ( int i = 0; i < Size; i++) {
: str[i] = Buffer [i];
: strTmp.sprintf("%2c ", str[i]);
: strHex +=strTmp;
: }
: Memo1->Lines->Append(strHex);
: }
:
: 현제 작성된것은 %2c로 문자만을 출력하고 잇습니다...
: 제가 하고 싶은 것은 Memo를 하나 더 만들어서..
: 한쪽에는 숫자만을,, 그리고 다른 한쪽에는 문자만을 출력하고 싶습니다.
: 불편하시더라도 조언 부탁드립니다..
: 감사합니다... 행복하세요..
:
|