RS232傳輸問題 |
答題得分者是:李國維
|
hank73317
一般會員 發表:20 回覆:47 積分:13 註冊:2008-12-12 發送簡訊給我 |
各位高手,請問一下,我去做RS232的傳輸,不過都不能正確的傳回我想傳的字串,想請問一下我的code要如何改才對呢
謝謝~~~~ [code cpp] void __fastcall TForm1::Button1Click(TObject *Sender) { const int BUFSIZE = 4096; char chBuffer[BUFSIZE]; memcpy(chBuffer,"Test",4); DWORD dwWritenSize = 0; WriteFile("COM3","T",4,&dwWritenSize,NULL); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button3Click(TObject *Sender) { char RS232RXBuf[128]; DWORD dwWritenSize = 0; ReadFile("COM3",RS232RXBuf,4,&dwWritenSize,NULL); Edit1->Text=RS232RXBuf[0]; } [/code] |
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
hank73317
一般會員 發表:20 回覆:47 積分:13 註冊:2008-12-12 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
李國維
高階會員 發表:42 回覆:287 積分:235 註冊:2003-02-07 發送簡訊給我 |
COM Port開啟關閉簡易程式碼
請參考下列程式碼 [code cpp] //--------------------------------------------------------------------------- #include #pragma hdrstop //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; HANDLE RS232; DCB dcb; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { AnsiString temp ="COM1"; RS232 = CreateFile(temp.c_str(), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, 0); if (RS232 == INVALID_HANDLE_VALUE) { MessageBox(0, "開啟錯誤", "Open error", MB_OK); return; } else Memo1->Lines->Add(temp ": 開啟成功"); GetCommState(RS232, &dcb); dcb.BaudRate = CBR_9600; dcb.ByteSize = 8; dcb.Parity = 0; //NOPARITY dcb.StopBits = 0; //ONESTOPBIT SetCommState(RS232, &dcb); if (!SetCommState(RS232, &dcb)) { MessageBox(0, "設定錯誤", "Set error", MB_OK); CloseHandle(RS232); } } //--------------------------------------------------------------------------- void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action) { if (RS232 != INVALID_HANDLE_VALUE) CloseHandle(RS232); } //--------------------------------------------------------------------------- [/code] |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |