|
232C 시리얼 통신이라고 해서 한비트씩처리하지 않으셔도 됩니다. PC에서는 그런건 이미 알아서 처리?해주는 착한 녀석들이 있습니다. 단지 PC측에서는 프로그래머가 윈도우에 요청만하면 됩니다.
보수와 short int 이런것이 필요치 않습니다.
하드웨어측에서 Low레벨의 하드웨어 수준의 프로그래밍이라면 모를까 씨빌더는 윈도우용이라, 먼저 윈도우에서 시리얼통신 하는 형태를 살펴보시라고 권해드립니다. 한비트씩 보내는 게 아니라 한문자씩 보내도 된다는...
파일에 데이타 적기와 유사합니다. 많은 자료들이 포럼에도 있는 걸로 알고 있습니다.
검색의 힘을 활용해 보세요..^^
김종영 님이 쓰신 글 :
: 씨빌더를 시작한지 얼마 안되는데여...
: 232C 시리얼 통신 하는 프로그램을 짜려다보니...문제가 있어서 고수님들의
: 도움을 받고싶어 글을 남깁니다.....ㅡ.ㅡ;;;
:
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
: char str[13];
: char str2[13];
: int i;
: short int iB;
: short int iC;
: str[0]=(char)0x02;
: str[1]='0';
: str[2]='n';
: str[3]='0';
: str[4]='0';
: str[5]='0';
: str[6]='0';
: str[7]='0';
: str[8]='0';
: str[9]='0';
: str[10]='0';
: str[11]='0';
: str[12]='0';
:
: iB=0;
: for(i=1 ; i<13 ; i++)
: {
: iB +=(short int)str[i];
: }
: Edit1->Text=iB;
: iC= ~iB +1;
: 이후 프로그램이 난해합니다....ㅡ.ㅡ;;;
:
:
: 시리얼 통신 하는데 위의 str의 데이터를 2의 보수를 취해서
: 16진수로 변환하여 뒤의 8비트만 str2 에 저장하여 str2값만
: 전송하려 합니다.
: 2의 보수를 취하는것까진 된거 같은데 그 다음이 난해합니다.
: 어찌 처리해야할지를....ㅡ.ㅡ;;;
: 부디 도움 부탁 드리겠습니다...
: 수거하세여...^^
|