[問題] VC2010 writefile to RS232

看板C_and_CPP作者 (狐狸)時間9年前 (2014/07/30 16:31), 9年前編輯推噓1(1023)
留言24則, 5人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 2010 Express 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) vc內建的windows.h 問題(Question): 使用writefile這個function後 在想要輸入的字串中 char data[] = "0xFF"; 想要送出1個byte 16進位資料如 0xFF 結果送出的字串被當成 4個bytes 0xFF 預期的正確結果(Expected Output): 送出RS232是1個byte以0xFF表示 錯誤結果(Wrong Output): 送出4個bytes的0xFF,應該是被當4個字元來看待 程式碼(Code):(請善用置底文網頁, 記得排版) 主要的部分: char data[] = "0xFF"; DWORD size = (DWORD)strlen(data); WriteFile( hFile, data, size, &dwBytesWritten, NULL); 補充說明(Supplement): 確定DCB設置都沒問題,COM1的機器也收的到 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.165.163.65 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1406709092.A.2C4.html

07/30 16:43, , 1F
"0xFF" 不就4個byte '0' 'x' 'F' 'F'?
07/30 16:43, 1F

07/30 16:44, , 2F
{0xFF}怎麼送的,不會是去strlen他吧?
07/30 16:44, 2F

07/30 16:48, , 3F
沒錯 可能以前學資料結構太懶散 這邊開始苦手
07/30 16:48, 3F

07/30 16:49, , 4F
就是照上面補充說明的定義data然後後面沒變直接丟出去
07/30 16:49, 4F

07/30 16:49, , 5F
希望有奇蹟發生之類的妄想
07/30 16:49, 5F

07/30 16:51, , 6F
要轉成binary再送吧?
07/30 16:51, 6F

07/30 16:52, , 7F
可能是我表達不好,0xFF應該是一個Byte的對應機器指令
07/30 16:52, 7F

07/30 16:53, , 8F
有點像ASCii裡面的A實際上是0x41的意思
07/30 16:53, 8F

07/30 16:56, , 9F
c大 所以我的data要以int data[] = {11...111};//16個1
07/30 16:56, 9F

07/30 16:57, , 10F
來寫進去嗎
07/30 16:57, 10F

07/30 16:57, , 11F

07/30 16:58, , 12F
裡面有教 轉binary
07/30 16:58, 12F

07/30 17:02, , 13F
先謝後讀 立刻研究
07/30 17:02, 13F

07/30 17:25, , 14F
不好意思給錯了
07/30 17:25, 14F

07/30 17:27, , 15F

07/30 17:27, , 16F
用的
07/30 17:27, 16F

07/30 17:35, , 17F
再謝續讀 XD
07/30 17:35, 17F

07/30 17:49, , 18F
分清楚什麼是字串什麼是陣列 什麼東西可以strlen
07/30 17:49, 18F

07/30 23:39, , 19F
一個byte 迴圈寫四次就好 直接丟255給他 別管字串了
07/30 23:39, 19F
※ 編輯: mjchicken (1.165.163.65), 07/31/2014 09:14:41

07/31 10:31, , 20F
char = (char)0xff; 不就可以了嘛 o_oa??
07/31 10:31, 20F
※ 編輯: mjchicken (1.165.163.65), 07/31/2014 11:38:13

07/31 11:41, , 21F
看完c大的連結之後似乎又略懂了一些
07/31 11:41, 21F

07/31 11:42, , 22F
現在進行實際操作
07/31 11:42, 22F

07/31 11:43, , 23F
k大我現在比較了解這方面的資料結構了 你說的沒錯
07/31 11:43, 23F

07/31 14:18, , 24F
感謝c大和大家的幫忙,已正常運作 (Y)
07/31 14:18, 24F
文章代碼(AID): #1JsAraB4 (C_and_CPP)